Imports-Anweisung (.NET-Namespace und Typ)
Ermöglicht Typnamenverweise ohne Namespaceangabe.
Imports [ aliasname = ] namespace
-or-
Imports [ aliasname = ] namespace.element
Teile
Begriff |
Definition |
aliasname |
Optional. Ein Importalias oder Name, mit dem Code auf namespace statt auf den vollständigen Qualifizierungspfad verweisen kann. Siehe Namen deklarierter Elemente (Visual Basic). |
namespace |
Erforderlich. Der vollqualifizierte Name des importierten Namespaces. Kann eine Zeichenfolge mit Namespaces sein, die auf beliebiger Ebenen geschachtelt sind. |
element |
Optional. Der Name eines im Namespace deklarierten Programmierelements. Kann ein beliebiges Containerelement sein. |
Hinweise
Die Imports -Anweisung ermöglicht direkte Verweise auf Typen, die in einem bestimmten Namespace enthalten sind.
Sie können einen einzelnen Namespacenamen oder eine Zeichenfolge mit geschachtelten Namespaces angeben. Jeder geschachtelte Namespace ist vom Namespace auf der nächsthöheren Ebene durch einen (.) getrennt, wie im folgenden Beispiel veranschaulicht.
Imports System.Collections.Generic
Jede Quelldatei kann beliebig viele Imports-Anweisungen enthalten. Diese müssen nach sämtlichen Option-Deklarationen, z. B. Option Strict, angegeben werden und sämtlichen Deklarationen von Programmierelementen, z. B. Module-Anweisungen oder Class-Anweisungen, vorangestellt werden.
Imports kann nur auf Dateiebene verwendet werden. Dies bedeutet, dass der Deklarationskontext für den Import eine Quelldatei sein muss und kein Namespace, keine Klasse, keine Struktur, kein Modul, keine Schnittstelle, keine Prozedur und kein Block sein kann.
Beachten Sie, dass mit der Imports-Anweisung keine Elemente aus anderen Projekten und Assemblys für ein Projekt verfügbar gemacht werden. Das Importieren ersetzt nicht des Festlegens eines Verweises. Es macht nur das Qualifizieren von Namen überflüssig, die bereits für das Projekt verfügbar sind. Weitere Informationen finden Sie unter Verweise auf deklarierte Elemente (Visual Basic) in "Importieren von enthaltenden Elementen".
Hinweis
Sie können implizite Imports-Anweisungen mithilfe der Seite "Verweise", Projekt-Designer (Visual Basic) definieren.Weitere Informationen finden Sie unter Gewusst wie: Hinzufügen oder Entfernen von importierten Namespaces (Visual Basic).
Importaliase
Ein Import-Alias definiert den Alias für einen Namespace oder Typ. Importaliase sind sinnvoll, wenn Sie Elemente mit identischen Namen verwenden, die in einem oder mehreren Namespaces deklariert sind. Weitere Informationen und ein Beispiel finden Sie in Verweise auf deklarierte Elemente (Visual Basic) unter "Qualifizieren eines Elementnamens".
Deklarieren Sie einen Member auf Modulebene nicht mit demselben Namen wie aliasname. Andernfalls verwendet der Visual Basic-Compiler aliasname nur für den deklarierten Member und erkennt den Namen nicht mehr als Importalias.
Obwohl für die Deklaration eines Importalias eine ähnliche Syntax verwendet wird, wie für den Import eines XML-Namespacepräfixes, unterscheiden sich die Ergebnisse. Ein Importalias kann auch als Ausdruck im Code verwendet werden, während ein XML-Namespacepräfix nur in XML-Literalen oder in XML-Achseneigenschaften als Präfix für ein qualifiziertes Element oder einen Attributnamen verwendet werden kann.
Elementnamen
Wenn Sie ein element angeben, muss dieses ein Containerelement darstellen, d. h. ein Programmierelement, das andere Elemente enthalten kann. Zu Containerelementen zählen Klassen, Strukturen, Module, Schnittstellen und Enumerationen.
Der Gültigkeitsbereich der Elemente, die durch eine Imports-Anweisung verfügbar gemacht werden, hängt davon ab, ob Sie element angeben. Wenn Sie nur namespace angeben, sind alle eindeutig benannten Member dieses Namespaces und die Member der Containerelemente in diesem Namespace ohne Qualifizierung verfügbar. Wenn Sie sowohl namespace als auch element angeben, sind nur die Member dieses Elements ohne Qualifizierung verfügbar.
Beispiel
Im folgenden Beispiel werden alle Ordner im Verzeichnis C:\ mithilfe der DirectoryInfo-Klasse zurückgegeben.
Der Code enthält keine Imports-Anweisungen am Anfang der Datei. Daher sind die Verweise DirectoryInfo, StringBuilder und CrLf mit den Namespaces alle vollqualifiziert.
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
Das folgende Beispiel enthält Anweisungen, die Imports für die referenzierten Namespaces. Daher müssen die Typen nicht mit den Namespaces vollqualifiziert werden.
' 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
Das folgende Beispiel enthält Imports-Anweisungen, die Aliase für die referenzierten Namespaces erstellen. Die Typen werden mit den Aliasen qualifiziert.
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
Das folgende Beispiel enthält Imports-Anweisungen, die Aliase für die referenzierten Typen erstellen. Aliase werden verwendet, um die Typen angeben.
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
Siehe auch
Referenz
Imports-Anweisung (XML-Namespace)