Оператор Imports (пространство имен .NET и тип)

Позволяет ссылаться на имена типов без квалификации пространства имен.

Синтаксис

Imports [ aliasname = ] namespace
' -or-
Imports [ aliasname = ] namespace.element

Детали

Термин Определение
aliasname Необязательно. Псевдоним импорта или имя, с помощью которого код может ссылаться namespace вместо полной строки квалификации. См. раздел Declared Element Names.
namespace Обязательный. Полное имя импортируемого пространства имен. Может быть строкой пространств имен, вложенных на любой уровень.
element Необязательно. Имя элемента программирования, объявленного в пространстве имен. Может быть любым элементом контейнера.

Замечания

Инструкция Imports позволяет напрямую ссылаться на типы, содержащиеся в заданном пространстве имен.

Можно указать одно имя пространства имен или строку вложенных пространств имен. Каждое вложенное пространство имен отделяется от следующего пространства имен более высокого уровня по периоду (.), как показано в следующем примере:

Imports System.Collections.Generic

Каждый исходный файл может содержать любое количество инструкций Imports . Они должны следовать любым объявлениям параметров, таким как Option Strict оператор, и они должны предшествовать любым объявлениям элементов программирования, таким как Module или Class операторы.

Можно использовать Imports только на уровне файла. Это означает, что контекст объявления для импорта должен быть исходным файлом и не может быть пространством имен, классом, структурой, модулем, интерфейсом, процедурой или блоком.

Обратите внимание, что Imports инструкция не делает элементы из других проектов и сборок доступными для проекта. Импорт не занимает место установки ссылки. Он удаляет только необходимые имена, которые уже доступны для вашего проекта. Дополнительные сведения см. в разделе "Импорт содержащих элементов" в ссылках на объявленные элементы.

Примечание.

Неявные Imports инструкции можно определить с помощью страницы ссылок, конструктора проектов (Visual Basic). Дополнительные сведения см. в разделе "Практическое руководство. Добавление или удаление импортированных пространств имен (Visual Basic)".

Импорт псевдонимов

Псевдоним импорта определяет псевдоним пространства имен или типа. Псевдонимы импорта полезны, если необходимо использовать элементы с одинаковым именем, объявленным в одном или нескольких пространствах имен. Дополнительные сведения и пример см. в разделе "Квалификация имени элемента" в разделе "Ссылки на объявленные элементы".

Не следует объявлять член на уровне модуля с тем же именем, что aliasnameи . Если это сделать, компилятор Visual Basic использует aliasname только для объявленного члена и больше не распознает его как псевдоним импорта.

Хотя синтаксис, используемый для объявления псевдонима импорта, похож на то, что используется для импорта префикса пространства имен XML, результаты отличаются. Псевдоним импорта можно использовать в качестве выражения в коде, в то время как префикс пространства имен XML можно использовать только в xml-литералах или свойствах оси XML в качестве префикса для квалифицированного элемента или имени атрибута.

Имена элементов

Если вы предоставляете element, он должен представлять элемент контейнера, то есть элемент программирования, который может содержать другие элементы. Элементы контейнера включают классы, структуры, модули, интерфейсы и перечисления.

Область элементов, доступных операторомImports, зависит от того, указан ли выelement. Если указать только namespace, все уникальные именованные элементы этого пространства имен и члены элементов контейнера в этом пространстве имен доступны без квалификации. Если указать оба namespace и element, только члены этого элемента доступны без квалификации.

Пример 1

В следующем примере возвращаются все папки в каталоге C:\ с помощью DirectoryInfo класса:

В коде нет Imports инструкций в верхней части файла. Таким образом, DirectoryInfoStringBuilderссылки и CrLf ссылки полностью соответствуют пространствам имен.

Public Function GetFolders() As String
    ' Create a new StringBuilder, which is used
    ' to efficiently build strings.
    Dim sb As New System.Text.StringBuilder

    Dim dInfo As New System.IO.DirectoryInfo("c:\")

    ' Obtain an array of directories, and iterate through
    ' the array.
    For Each dir As System.IO.DirectoryInfo In dInfo.GetDirectories()
        sb.Append(dir.Name)
        sb.Append(Microsoft.VisualBasic.ControlChars.CrLf)
    Next

    Return sb.ToString
End Function

Пример 2

В следующем примере содержатся Imports инструкции для указанных пространств имен. Поэтому типы не должны быть полностью заполнены пространствами имен.

' Place Imports statements at the top of your program.
Imports System.Text
Imports System.IO
Imports Microsoft.VisualBasic.ControlChars
Public Function GetFolders() As String
    Dim sb As New StringBuilder

    Dim dInfo As New DirectoryInfo("c:\")
    For Each dir As DirectoryInfo In dInfo.GetDirectories()
        sb.Append(dir.Name)
        sb.Append(CrLf)
    Next

    Return sb.ToString
End Function

Пример 3

В следующем примере содержатся Imports инструкции, которые создают псевдонимы для указанных пространств имен. Типы квалифицированы с псевдонимами.

Imports systxt = System.Text
Imports sysio = System.IO
Imports ch = Microsoft.VisualBasic.ControlChars
Public Function GetFolders() As String
    Dim sb As New systxt.StringBuilder

    Dim dInfo As New sysio.DirectoryInfo("c:\")
    For Each dir As sysio.DirectoryInfo In dInfo.GetDirectories()
        sb.Append(dir.Name)
        sb.Append(ch.CrLf)
    Next

    Return sb.ToString
End Function

Пример 4

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

Imports strbld = System.Text.StringBuilder
Imports dirinf = System.IO.DirectoryInfo
Public Function GetFolders() As String
    Dim sb As New strbld

    Dim dInfo As New dirinf("c:\")
    For Each dir As dirinf In dInfo.GetDirectories()
        sb.Append(dir.Name)
        sb.Append(ControlChars.CrLf)
    Next

    Return sb.ToString
End Function

См. также