Imports-Anweisung (.NET-Namespace und Typ)

Ermöglicht den Verweis auf Typnamen ohne Qualifizierung durch einen Namespace.

Syntax

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

Bestandteile

Begriff Definition
aliasname Dies ist optional. Ein Importalias oder -name, den Code anstelle der vollständigen Qualifizierungszeichenfolge für den Verweis auf namespace verwenden kann. Siehe Declared Element Names.
namespace Erforderlich. Der vollqualifizierte Name des Namespaces, der importiert wird. Dabei kann es sich um eine Zeichenfolge von Namespaces handeln, die auf einer beliebigen Ebene geschachtelt sind.
element Optional. Der Name eines im Namespace deklarierten Programmierelements. Dabei kann es sich um ein beliebiges Containerelement handeln.

Bemerkungen

Die Imports-Anweisung ermöglicht den direkten Verweis auf Typen, die in einem bestimmten Namespace enthalten sind.

Sie können einen einzelnen Namespacenamen oder eine Zeichenfolge geschachtelter Namespaces angeben. Jeder geschachtelte Namespace ist vom nächsthöheren Namespace durch einen Punkt (.) getrennt:

Imports System.Collections.Generic

Jede Quelldatei kann eine beliebige Anzahl von Imports-Anweisungen enthalten. Diese müssen allen Option-Deklarationen folgen, z. B. der Option Strict-Anweisung, und sie müssen den Deklarationen aller Programmierelemente vorangestellt sein, z. B. Module- oder Class-Anweisungen.

Imports kann nur auf Dateiebene verwendet werden. Der Deklarationskontext für einen Import muss demnach eine Quelldatei sein. Es darf sich weder um einen Namespace, Modul oder Block noch um eine Klasse, Struktur, Schnittstelle oder Prozedur handeln.

Beachten Sie, dass mit der Imports-Anweisung keine Elemente aus anderen Projekten und Assemblys für Ihr Projekt verfügbar gemacht werden. Der Import ersetzt nicht das Festlegen eines Verweises. Es entfällt nur die Notwendigkeit, Namen zu qualifizieren, die bereits für Ihr Projekt verfügbar sind. Weitere Informationen finden Sie in Verweise auf deklarierte Elemente unter „Importieren von Elementen“.

Hinweis

Sie können implizite Imports-Anweisungen mithilfe der Seite „Verweise“ im Projekt-Designer (Visual Basic) definieren. Weitere Informationen finden Sie unter Vorgehensweise: Hinzufügen oder Entfernen importierter Namespaces (Visual Basic).

Importaliase

Ein Importalias definiert den Alias für einen Namespace oder Typ. Importaliase sind nützlich, wenn Sie Elemente mit demselben Namen verwenden müssen, die in mindestens einem Namespace deklariert werden. Weitere Informationen sowie ein Beispiel finden Sie in Verweise auf deklarierte Elemente unter „Qualifizieren eines Elementnamens“.

Auf Modulebene sollten Sie keinen Member mit demselben Namen wie aliasnamedeklarieren. Andernfalls verwendet der Visual Basic-Compiler aliasname nur für den deklarierten Member und erkennt es nicht mehr als Importalias.

Zwar ähnelt die Syntax für die Deklaration eines Importaliases der Syntax für den Import eines XML-Namespacepräfixes, doch es gibt Unterschiede. Ein Importalias kann als Ausdruck im Code verwendet werden, während ein XML-Namespacepräfix nur in XML-Literalen oder XML-Achseneigenschaften als Präfix für einen qualifizierten Element- oder Attributnamen verwendet werden kann.

Elementnamen

Wenn Sie element angeben, muss es sich dabei um ein Containerelement handeln, also ein Programmierelement, das andere Elemente enthalten kann. Containerelemente umfassen Klassen, Strukturen, Module, Schnittstellen und Enumerationen.

Der Umfang der Elemente, die von einer Imports-Anweisung verfügbar gemacht werden, hängt von der Angabe von element ab. Wenn Sie nur namespace angeben, werden alle eindeutig benannten Member dieses Namespaces und Member von Containerelementen innerhalb dieses Namespaces ohne Qualifizierung verfügbar gemacht. Wenn Sie sowohl namespace als auch element angeben, sind nur die Member dieses Elements ohne Qualifizierung verfügbar.

Beispiel 1

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 werden die DirectoryInfo-, StringBuilder- und CrLf-Verweise alle mit den Namespaces voll qualifiziert.

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

Beispiel 2

Das folgende Beispiel enthält Imports-Anweisungen für die Namespaces, auf die verwiesen wird. Daher müssen die Typen nicht mit den Namespaces voll qualifiziert 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

Beispiel 3

Das folgende Beispiel enthält Imports-Anweisungen zum Erstellen von Aliasen für die Namespaces, auf die verwiesen wird. 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

Beispiel 4

Das folgende Beispiel enthält Imports-Anweisungen zum Erstellen von Aliasen für die Typen, auf die verwiesen wird. Die Aliase werden zur Angabe der Typen verwendet.

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