Иллюстрированный самоучитель по VB.NET

         

Импортирование


Обращаясь к хорошим знакомым, мы не называем их по имени-отчеству и фамилии. В .NET предусмотрена возможность импортирования пространств имен командой Imports, что позволяет избавиться от громоздких полных имен. После правильной команды Imports все ссылки вида

System.Text.StringBuilder .

могут заменяться простым именем StringBuilder.

Пространство имен System автоматически импортируется в каждое решение, созданное в Visual Studio. Благодаря этому методы этого пространства имен могут вызываться в виде Console.WriteLine() вместо полного имени System.Console.WrlteLlne().

Список пространств имен, автоматически импортируемых в решение, находится на странице Imports окна свойств решения (рис. 4.2).

Загрузите в Object Brewser автоматически импортируемое пространство имен Microsoft. Visual Basic — вы увидите, что оно содержит различные функции, существовавшие в Visual Basic и сохраненные в VB .NET (рис. 4.3).

Импортирование пространства имен Microsoft. Visual Basic. Constants позволяет использовать старые константы VB — такие, как vbCrtf. .NET-версии многих констант не имеют префикса vb (например, CrLf) и находятся в пространстве имен

Microsoft.VIsualBasi с.Control Chars.

Команда Imports должна располагаться перед всеми остальными объявлениями, включая объявление имени модуля, но после директив Option (таких, как Option Strict On или Option Compare Text).

Рис. 4.2. Страница Imports окна свойств решения

Рис. 4.3. Пространство имен Microsoft.VisualBasic в программе Object Browser

Команда Imports не увеличивает объем программы, поскольку она не включает весь код пространства имен в проект, а просто упрощает ссылки на члены классов, входящих в пространство имен. На скорость работы она тоже не влияет. Импортируются только пространства имен, входящие в сборки, ссылки на которые были включены в программу командой Project > Add Reference (сборки рассматриваются в главе 13).

Мы были просто поражены, когда узнали, что подсказка IntelliSense работает и для команды Imports — она выводит список пространств имен, которые можно импортировать в проект.
Для этого IDE анализирует сборки, ссылки на которые имеются в решении.

Если два импортированных пространства имен содержат классы с одинаковыми именами, то для различения этих классов вам придется указывать их полные имена (VB .NET не позволяет создать два одноименных класса в одном пространстве имен).

Особая версия команды Imports используется для предотвращения потенциальных конфликтов имен с ранее импортированными классами. Например, если вы захотите работать на уровне совместимости с прежними версиями Visual Basic (чего делать не рекомендуется), в программе почти наверняка возникнут конфликты имен. Включите в программу ссылку на уровень совместимости VB, а затем воспользуйтесь командой вида:

Imports VB6Stuff = Microsoft.VisualBasic.Compatibility.VB6

После этого остается лишь начинать все ссылки на уровень совместимости с префикса «VBSStuff.», и все проблемы с конфликтами имен исчезнут.

Из пространства имен нельзя импортировать отдельный класс, чтобы упростить ввод имен его членов. Предположим, вы хотите импортировать класс DirectoryInfo, чтобы упростить ввод имен его членов. Но следующая команда недопустима:

Imports System.IO.Directorylnfo




Содержание раздела