Istruzione Imports (tipo e spazio dei nomi .NET)

Consente di fare riferimento ai nomi dei tipi senza qualifica dello spazio dei nomi.

Sintassi

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

Parti

Termine Definizione
aliasname Facoltativa. Alias di importazione o nome in base al namespace quale il codice può fare riferimento invece della stringa di qualificazione completa. Vedere Declared Element Names.
namespace Obbligatorio. Nome completo dello spazio dei nomi importato. Può essere una stringa di spazi dei nomi annidati a qualsiasi livello.
element Facoltativa. Nome di un elemento di programmazione dichiarato nello spazio dei nomi. Può essere qualsiasi elemento contenitore.

Commenti

L'istruzione Imports consente ai tipi contenuti in uno spazio dei nomi specificato di fare riferimento direttamente.

È possibile specificare un singolo nome dello spazio dei nomi o una stringa di spazi dei nomi annidati. Ogni spazio dei nomi annidato è separato dallo spazio dei nomi superiore successivo per un punto (.), come illustrato nell'esempio seguente:

Imports System.Collections.Generic

Ogni file di origine può contenere qualsiasi numero di Imports istruzioni. Queste devono seguire qualsiasi dichiarazione di opzione, ad esempio l'istruzione Option Strict , e devono precedere qualsiasi dichiarazione di elemento di programmazione, ad esempio Module o Class istruzioni.

È possibile usare Imports solo a livello di file. Ciò significa che il contesto di dichiarazione per l'importazione deve essere un file di origine e non può essere uno spazio dei nomi, una classe, una struttura, un modulo, un'interfaccia, una routine o un blocco.

Si noti che l'istruzione Imports non rende disponibili elementi da altri progetti e assembly per il progetto. L'importazione non prende il posto dell'impostazione di un riferimento. Rimuove solo la necessità di qualificare i nomi già disponibili per il progetto. Per altre informazioni, vedere "Importazione di elementi contenenti" nei riferimenti agli elementi dichiarati.

Nota

È possibile definire istruzioni implicite Imports usando la pagina Riferimenti, Project Designer (Visual Basic). Per altre informazioni, vedere Procedura: Aggiungere o rimuovere spazi dei nomi importati (Visual Basic).

Alias di importazione

Un alias di importazione definisce l'alias per uno spazio dei nomi o un tipo. Gli alias di importazione sono utili quando è necessario usare gli elementi con lo stesso nome dichiarato in uno o più spazi dei nomi. Per altre informazioni e un esempio, vedere "Qualificare un nome di elemento" in Riferimenti agli elementi dichiarati.

Non è consigliabile dichiarare un membro a livello di modulo con lo stesso nome di aliasname. In caso affermativo, il compilatore Visual Basic usa aliasname solo per il membro dichiarato e non lo riconosce più come alias di importazione.

Anche se la sintassi usata per dichiarare un alias di importazione è simile a quella usata per importare un prefisso dello spazio dei nomi XML, i risultati sono diversi. Un alias di importazione può essere usato come espressione nel codice, mentre un prefisso dello spazio dei nomi XML può essere usato solo in valori letterali XML o proprietà dell'asse XML come prefisso per un elemento o un nome di attributo qualificato.

Nomi di elementi

Se si specifica element, deve rappresentare un elemento contenitore, ovvero un elemento di programmazione che può contenere altri elementi. Gli elementi del contenitore includono classi, strutture, moduli, interfacce ed enumerazioni.

L'ambito degli elementi resi disponibili da un'istruzione Imports dipende dal fatto che si specifica element. Se si specifica solo namespace, tutti i membri denominati in modo univoco di tale spazio dei nomi e i membri degli elementi del contenitore all'interno di tale spazio dei nomi sono disponibili senza qualifica. Se si specificano entrambi namespace e element, solo i membri di tale elemento sono disponibili senza qualifica.

Esempio 1

Nell'esempio seguente vengono restituite tutte le cartelle nella directory C:\ usando la DirectoryInfo classe:

Il codice non Imports contiene istruzioni nella parte superiore del file. Pertanto, i DirectoryInforiferimenti , StringBuildere CrLf sono tutti completi con gli spazi dei nomi.

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

Esempio 2

Nell'esempio seguente sono incluse Imports istruzioni per gli spazi dei nomi a cui si fa riferimento. Pertanto, i tipi non devono essere completi con gli spazi dei nomi.

' 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

Esempio 3

Nell'esempio seguente sono incluse Imports istruzioni che creano alias per gli spazi dei nomi a cui si fa riferimento. I tipi sono qualificati con gli alias.

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

Esempio 4

Nell'esempio seguente sono incluse Imports istruzioni che creano alias per i tipi a cui si fa riferimento. Gli alias vengono usati per specificare i tipi.

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

Vedi anche