Imports — Instrukcja (.NET Namespace i Type)

Umożliwia przywołuje nazwy typów bez kwalifikacji przestrzeni nazw.

Składnia

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

generatora

Termin Definicja
aliasname Opcjonalny. Alias importu lub nazwa, za pomocą którego kod może odwoływać się namespace zamiast pełnego ciągu kwalifikacji. Zobacz Nazwy zadeklarowanych elementów.
namespace Wymagany. W pełni kwalifikowana nazwa importowanej przestrzeni nazw. Może być ciągiem przestrzeni nazw zagnieżdżonych na dowolnym poziomie.
element Opcjonalny. Nazwa elementu programowania zadeklarowanego w przestrzeni nazw. Może być dowolnym elementem kontenera.

Uwagi

Instrukcja Imports umożliwia bezpośrednie odwołanie do typów zawartych w danej przestrzeni nazw.

Można podać pojedynczą nazwę przestrzeni nazw lub ciąg zagnieżdżonych przestrzeni nazw. Każda zagnieżdżona przestrzeń nazw jest oddzielona od następnej przestrzeni nazw wyższego poziomu przez kropkę (.), jak pokazano w poniższym przykładzie:

Imports System.Collections.Generic

Każdy plik źródłowy może zawierać dowolną liczbę instrukcji Imports . Muszą one być zgodne z wszelkimi deklaracjami opcji, takimi jak Option Strict instrukcja, i muszą poprzedzać wszelkie deklaracje elementów programowania, takie jak Module lub Class instrukcje.

Można użyć Imports tylko na poziomie pliku. Oznacza to, że kontekst deklaracji importu musi być plikiem źródłowym i nie może być przestrzenią nazw, klasą, strukturą, modułem, interfejsem, procedurą lub blokiem.

Należy pamiętać, że Imports instrukcja nie udostępnia elementów z innych projektów i zestawów w projekcie. Importowanie nie ma miejsca ustawiania odwołania. Usuwa ona tylko konieczność kwalifikowania nazw, które są już dostępne dla projektu. Aby uzyskać więcej informacji, zobacz "Importowanie elementów zawierających elementy" w odwołaniach do zadeklarowanych elementów.

Importowanie aliasów

Alias importu definiuje alias dla przestrzeni nazw lub typu. Aliasy importu są przydatne, gdy trzeba używać elementów o tej samej nazwie, które są deklarowane w co najmniej jednej przestrzeni nazw. Aby uzyskać więcej informacji i przykład, zobacz "Kwalifikowanie nazwy elementu" w odwołaniach do zadeklarowanych elementów.

Nie należy deklarować elementu członkowskiego na poziomie modułu o takiej samej nazwie jak aliasname. Jeśli tak, kompilator języka Visual Basic używa aliasname tylko dla zadeklarowanego elementu członkowskiego i nie rozpoznaje go jako aliasu importu.

Mimo że składnia używana do deklarowania aliasu importu jest podobna do używanej do importowania prefiksu przestrzeni nazw XML, wyniki są inne. Alias importu może służyć jako wyrażenie w kodzie, natomiast prefiks przestrzeni nazw XML może być używany tylko w literałach XML lub właściwościach osi XML jako prefiks nazwy kwalifikowanego elementu lub atrybutu.

Nazwy elementów

Jeśli podasz elementelement , musi reprezentować element kontenera, czyli element programowania, który może zawierać inne elementy. Elementy kontenera obejmują klasy, struktury, moduły, interfejsy i wyliczenia.

Zakres elementów udostępnianych przez instrukcję Imports zależy od tego, czy określono wartość element. Jeśli określisz tylko namespaceelementy , wszystkie unikatowo nazwane elementy członkowskie tej przestrzeni nazw i elementy członkowskie kontenera w tej przestrzeni nazw będą dostępne bez kwalifikacji. Jeśli określisz wartości i namespaceelement, tylko elementy członkowskie tego elementu są dostępne bez kwalifikacji.

Przykład 1

Poniższy przykład zwraca wszystkie foldery w katalogu C:\ przy użyciu DirectoryInfo klasy :

Kod nie Imports zawiera instrukcji w górnej części pliku. W związku z tym odwołania DirectoryInfo, StringBuilderi CrLf są w pełni kwalifikowane z przestrzeniami nazw.

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

Przykład 2

Poniższy przykład zawiera Imports instrukcje dla przywołynych przestrzeni nazw. W związku z tym typy nie muszą być w pełni kwalifikowane z przestrzeniami nazw.

' 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

Przykład 3

Poniższy przykład zawiera Imports instrukcje, które tworzą aliasy dla przywołynych przestrzeni nazw. Typy są kwalifikowane za pomocą aliasów.

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

Przykład 4

Poniższy przykład zawiera Imports instrukcje, które tworzą aliasy dla przywołynych typów. Aliasy służą do określania typów.

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

Zobacz też