Istruzione Imports (tipo e spazio dei nomi .NET)

Consente di fare riferimento ai nomi dei tipi senza qualificare lo spazio dei nomi.

Sintassi

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

Parti

Termine Definizione
aliasname Facoltativo. Un alias di importazione o un nome in base al quale il codice può fare riferimento a namespace anziché alla stringa di qualificazione completa. Vedere Declared Element Names.
namespace Obbligatorio. Nome completo dello spazio dei nomi da importare. Può essere una stringa di spazi dei nomi annidati a qualsiasi livello.
element Facoltativo. Nome di un elemento di programmazione dichiarato nello spazio dei nomi. Può essere qualsiasi elemento contenitore.

Osservazioni:

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

È 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 di livello superiore successivo da un punto (.), come illustrato nell'esempio seguente:

Imports System.Collections.Generic

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

È possibile usare Imports solo a livello di file. Ciò significa che il contesto della 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 di altri progetti e assembly per il progetto. L'importazione non comporta l'impostazione di un riferimento. Rimuove solo la necessità di qualificare i nomi già disponibili per il progetto. Per altre informazioni, vedere "Importazione di elementi contenitori" in Riferimenti agli elementi dichiarati.

Nota

È possibile definire istruzioni Imports implicite usando la pagina Riferimenti, Progettazione progetti (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 "Qualificazione di 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 tal caso, il compilatore di 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 nei valori letterali XML o nelle proprietà dell'asse XML come prefisso per un nome completo di elemento o attributo.

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 specifichi element. Se si specifica solo namespace, tutti i membri denominati in modo univoco dello spazio dei nomi e i membri degli elementi del contenitore all'interno di tale spazio dei nomi sono disponibili senza qualifica. Se si specificano sia 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 classe DirectoryInfo:

Il codice non dispone di istruzioni Imports all'inizio del file. Di conseguenza, i riferimenti DirectoryInfo, StringBuilder e 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

L'esempio seguente include istruzioni Imports 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

L'esempio seguente include istruzioni Imports 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

L'esempio seguente include istruzioni Imports 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