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.
Uwaga
Instrukcje niejawne Imports
można zdefiniować przy użyciu strony odwołania, projektu Projektant (Visual Basic). Aby uzyskać więcej informacji, zobacz How to: Add or Remove Imported Namespaces (Visual Basic) (Jak dodawać lub usuwać zaimportowane przestrzenie nazw (Visual Basic).
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 element
element , 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 namespace
elementy , 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 namespace
element
, 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