Importuttryck (.NET-namnområde och typ)

Gör att typnamn kan refereras utan namnområdesbehörighet.

Syntax

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

Delar

Period Definition
aliasname Valfritt. Ett importalias eller namn som koden kan referera till i stället för namespace den fullständiga kvalificeringssträngen. Se Deklarerade elementnamn.
namespace Obligatoriska. Det fullständigt kvalificerade namnet på namnområdet som importeras. Kan vara en sträng med namnområden som är kapslade till valfri nivå.
element Valfritt. Namnet på ett programmeringselement som deklarerats i namnområdet. Kan vara valfritt containerelement.

Kommentarer

-instruktionen Imports gör att typer som finns i ett angivet namnområde kan refereras direkt.

Du kan ange ett namnområdesnamn eller en sträng med kapslade namnområden. Varje kapslat namnområde avgränsas från nästa namnområde på högre nivå med en punkt (.), vilket visas i följande exempel:

Imports System.Collections.Generic

Varje källfil kan innehålla valfritt antal Imports instruktioner. Dessa måste följa eventuella alternativdeklarationer, till exempel -instruktionen Option Strict , och de måste föregå eventuella deklarationer av programmeringselement, till exempel Module eller Class -instruktioner.

Du kan bara använda Imports på filnivå. Det innebär att deklarationskontexten för import måste vara en källfil och får inte vara ett namnområde, en klass, en struktur, en modul, ett gränssnitt, en procedur eller ett block.

Observera att -instruktionen Imports inte gör element från andra projekt och sammansättningar tillgängliga för projektet. Import sker inte i stället för att ange en referens. Det tar bara bort behovet av att kvalificera namn som redan är tillgängliga för projektet. Mer information finns i "Importera innehållande element" i Referenser till deklarerade element.

Kommentar

Du kan definiera implicita Imports instruktioner med hjälp av referenssidan, Project Designer (Visual Basic). Mer information finns i Så här lägger du till eller tar bort importerade namnområden (Visual Basic).

Importera alias

Ett importalias definierar aliaset för ett namnområde eller en typ. Importalias är användbara när du behöver använda objekt med samma namn som deklareras i en eller flera namnområden. Mer information och ett exempel finns i "Kvalificera ett elementnamn" i Referenser till deklarerade element.

Du bör inte deklarera en medlem på modulnivå med samma namn som aliasname. Om du gör det använder aliasname Visual Basic-kompilatorn endast för den deklarerade medlemmen och känner inte längre igen den som ett importalias.

Även om syntaxen som används för att deklarera ett importalias liknar den som används för att importera ett XML-namnområdesprefix är resultatet annorlunda. Ett importalias kan användas som ett uttryck i koden, medan ett XML-namnområdesprefix endast kan användas i XML-literaler eller XML-axelegenskaper som prefix för ett kvalificerat element eller attributnamn.

Elementnamn

Om du anger elementmåste det representera ett containerelement, dvs. ett programmeringselement som kan innehålla andra element. Containerelement omfattar klasser, strukturer, moduler, gränssnitt och uppräkningar.

Omfånget för de element som görs tillgängliga av en Imports -instruktion beror på om du anger element. Om du bara namespaceanger är alla unikt namngivna medlemmar i det namnområdet och medlemmar i containerelement i det namnområdet tillgängliga utan kvalificering. Om du anger både namespace och elementär endast medlemmarna i det elementet tillgängliga utan kvalificering.

Exempel 1

I följande exempel returneras alla mappar i katalogen C:\ med hjälp DirectoryInfo av klassen:

Koden har inga Imports instruktioner överst i filen. Därför är referenserna DirectoryInfo, StringBuilderoch CrLf alla fullständigt kvalificerade med namnrymderna.

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

Exempel 2

I följande exempel finns Imports instruktioner för de refererade namnrymderna. Därför behöver typerna inte vara fullständigt kvalificerade med namnrymderna.

' 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

Exempel 3

I följande exempel finns Imports instruktioner som skapar alias för de refererade namnrymderna. Typerna är kvalificerade med aliasen.

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

Exempel 4

Följande exempel innehåller Imports instruktioner som skapar alias för de refererade typerna. Alias används för att ange typerna.

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

Se även