* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Операторы Imports и using
7 февраля 2009
Теперь вы умеете получать доступ к типам из библиотеки базовых классов .NET Framework, ссылаясь на них по полным именам. Полное имя типа включает все пространства имен, к которым он принадлежит, например:
System.Windows.Forms.Form Однако можно заставить среду разработки «запомнить» пространства имен, кото- рые вы используете. Для этого применяются операторы Imports (в Visual Basic .NET) и using (в Visual C#). Эти операторы позволяют ссылаться на тип по сокращенному имени, не указывая все пространства имен, к которым он принадлежит. Так, вмес- то System. Windows.Forms.Form можно записать просто Form. В Visual Basic .NET опе- ратор Imports следует помещать в начало кода, то есть перед любыми другими опе- раторами (за исключением Option). В программах на Visual C# оператор using рас- полагается перед ссылками на любые элементы пространств имен, такими, как классы или структуры. Следующий пример демонстрирует использование операто- ров imports и using: Visual Basic .NET Imports System.Windows.Forms Visual C# using System.Windows.Forms; Однако во избежание конфликта все равно придется задавать полные имена для ссылки на типы с одинаковыми именами, импортируемые из разных пространств имен. Таким образом, если вы импортируете из пространств имен MyNameSpaceOne и MyNameSpaceTwo классы Widget, следует ссылаться на эти классы как на MyName- SpaceOne. Widget и MyNameSpaceTwo. Widget соответственно, В программах на С# подобные конфликты имен удается разрешать при помощи псевдонимов. Псевдоним (alias) позволяет назначить классу другое имя и создается при помощи ключевого слова using: Visual C# using myAlias - MyNameSpaceTwo.Widget: Назначив некоторому классу псевдоним, применяйте его в коде для ссылки на экземпляры этого класса, например, так: Visual C# // Теперь MyNameSpaceTwo.Widget можно заменить псевдонимом // rnyAlias, поэтому следующие строки эквивалентны: MyNameSpaceTwo.Widget anotherWidgel = new myNarreSpaceTwo.Widget; MyAlias anotherWidget = new myAlias: