2013-06-26 4 views
0

Я новичок в программировании.В чем разница между System.Drawing.Image.FromFile() и просто Image.FromFile()

Я хочу знать, в VB.NET, что разница между этими двумя:

System.Drawing.Image.FromFile() 

и

Image.FromFile() 

я использовал как на PictureBox, и оба работали. Я просто хочу знать, в чем разница, а какая - стандартная.

+1

Первая нотация ссылается на полное пространство имен, а второе - на ярлык и подразумевает, что вы добавили 'using System.Drawing' где-то поверх своего файла класса. –

ответ

1

Если вы запустите новый проект WinForms VB.NET с помощью Visual Studio, вы обнаружите, что пространство имен System.Drawing автоматически добавляется к ссылкам проекта и Import System.Drawing уже на месте.

Попробуйте щелкнуть правой кнопкой мыши по вашему проекту, указанному в окне обозревателя решений, затем выберите «Свойства», а затем перейдите на вкладку «Ссылки».
Вы увидите два списка. Первый содержит ссылки на сборки, автоматически добавленные в ваш проект, а второй список содержит операции импорта, которые неявно написаны для вас с помощью VS IDE

Это означает, что вы можете вызывать любой метод из классов, включенных в систему. Создание пространства имен без их полной квалификации. Это справедливо и для других импортированных пространств имен, таких как System (например, вам не нужно писать System.Convert.ToInt32, но только Convert.ToInt32).

В этом контексте не имеет значения, введите ли вы полное имя метода или только сокращенную версию. Вы всегда можете написать полное имя.

Конечно, ярлык при импорте ссылки очень удобен и сэкономит много времени во время кодирования.

+0

Спасибо, теперь я очистил свои сомнения. – th3kin9

1

Первый из них является полностью квалифицированным namespace. Если вы импортировали пространство имен System.Drawing, вы можете получить доступ к Image.FromFile() без вызова всего пространства имен.

+0

Я не импортировал пространство имен System.Drawing, но работает Image.FromFile (string). Должен ли я импортировать System.Drawing или я могу использовать image.fromfile() вообще без импорта пространства имен. – th3kin9

1

Нет никакой разницы. Вы звоните один с полным пространством имен System.Drawing.Image.FromFile(string), а другой Image.FromFile(string) без него. Второй звонок предполагает, что вы включили using System.Drawing в свой класс.

+0

Я не импортировал пространство имен System.Drawing, но работает Image.FromFile (string). Должен ли я импортировать System.Drawing, или я могу использовать image.fromfile() вообще без импорта пространства имен. – th3kin9

+0

Может ли он быть включен в качестве ссылки в ваш проект? В любом случае не должно быть разницы в вызываемых вами методах. – Aaron