Istruzione Imports (tipo e spazio dei nomi .NET)Imports Statement (.NET Namespace and Type)

Consente di fare riferimento ai nomi dei tipi senza qualifica dello spazio dei nomi.Enables type names to be referenced without namespace qualification.

SintassiSyntax

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

PartiParts

TermineTerm DefinizioneDefinition
aliasname Parametro facoltativo.Optional. Alias di importazione o nome con cui il codice può fare riferimento a namespace anziché alla stringa di qualificazione completa.An import alias or name by which code can refer to namespace instead of the full qualification string. Vedere Declared Element Names.See Declared Element Names.
namespace Obbligatorio.Required. Nome completo dello spazio dei nomi importato.The fully qualified name of the namespace being imported. Può essere una stringa di spazi dei nomi annidati a qualsiasi livello.Can be a string of namespaces nested to any level.
element Parametro facoltativo.Optional. Nome di un elemento di programmazione dichiarato nello spazio dei nomi.The name of a programming element declared in the namespace. Può essere qualsiasi elemento contenitore.Can be any container element.

NoteRemarks

L'istruzione Imports consente di fare riferimento direttamente ai tipi contenuti in un determinato spazio dei nomi.The Imports statement enables types that are contained in a given namespace to be referenced directly.

È possibile specificare un singolo nome di spazio dei nomi o una stringa di spazi dei nomi annidati.You can supply a single namespace name or a string of nested namespaces. Ogni spazio dei nomi annidato è separato dallo spazio dei nomi di livello superiore successivo per un punto (.), come illustrato nell'esempio seguente.Each nested namespace is separated from the next higher level namespace by a period (.), as the following example illustrates.

Imports System.Collections.Generic

Ogni file di origine può contenere un numero qualsiasi di istruzioni Imports.Each source file can contain any number of Imports statements. 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 istruzioni Class.These must follow any option declarations, such as the Option Strict statement, and they must precede any programming element declarations, such as Module or Class statements.

È possibile utilizzare Imports solo a livello di file.You can use Imports only at file level. 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.This means the declaration context for importation must be a source file, and cannot be a namespace, class, structure, module, interface, procedure, or block.

Si noti che l'istruzione Imports non rende disponibili gli elementi di altri progetti e assembly per il progetto.Note that the Imports statement does not make elements from other projects and assemblies available to your project. L'importazione non comporta l'impostazione di un riferimento.Importing does not take the place of setting a reference. Rimuove solo la necessità di qualificare i nomi già disponibili per il progetto.It only removes the need to qualify names that are already available to your project. Per ulteriori informazioni, vedere "importazione di elementi contenitore" in riferimenti a elementi dichiarati.For more information, see "Importing Containing Elements" in References to Declared Elements.

Nota

È possibile definire istruzioni Imports implicite usando la pagina riferimenti, Progettazione progetti (Visual Basic).You can define implicit Imports statements by using the References Page, Project Designer (Visual Basic). Per ulteriori informazioni, vedere procedura: aggiungere o rimuovere spazi dei nomi importati (Visual Basic).For more information, see How to: Add or Remove Imported Namespaces (Visual Basic).

Alias di importazioneImport Aliases

Un alias di importazione definisce l'alias per uno spazio dei nomi o un tipo.An import alias defines the alias for a namespace or type. Gli alias di importazione sono utili quando è necessario usare elementi con lo stesso nome dichiarati in uno o più spazi dei nomi.Import aliases are useful when you need to use items with the same name that are declared in one or more namespaces. Per ulteriori informazioni e un esempio, vedere "qualificazione di un nome di elemento" in riferimenti a elementi dichiarati.For more information and an example, see "Qualifying an Element Name" in References to Declared Elements.

Non dichiarare un membro a livello di modulo con lo stesso nome aliasname.You should not declare a member at module level with the same name as aliasname. In tal caso, il compilatore Visual Basic utilizza aliasname solo per il membro dichiarato e non lo riconosce più come alias di importazione.If you do, the Visual Basic compiler uses aliasname only for the declared member and no longer recognizes it as an import alias.

Sebbene la sintassi utilizzata per dichiarare un alias di importazione sia simile a quella utilizzata per l'importazione di un prefisso dello spazio dei nomi XML, i risultati sono diversi.Although the syntax used for declaring an import alias is like that used for importing an XML namespace prefix, the results are different. 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à Axis XML come prefisso per un nome di attributo o di elemento completo.An import alias can be used as an expression in your code, whereas an XML namespace prefix can be used only in XML literals or XML axis properties as the prefix for a qualified element or attribute name.

Nomi di elementiElement Names

Se si fornisce element, deve rappresentare un elemento contenitore, ovvero un elemento di programmazione che può contenere altri elementi.If you supply element, it must represent a container element, that is, a programming element that can contain other elements. Gli elementi contenitore includono classi, strutture, moduli, interfacce ed enumerazioni.Container elements include classes, structures, modules, interfaces, and enumerations.

L'ambito degli elementi resi disponibili da un'istruzione Imports varia a seconda che si specifichino element.The scope of the elements made available by an Imports statement depends on whether you specify element. Se si specificano solo namespace, tutti i membri denominati in modo univoco dello spazio dei nomi e i membri degli elementi contenitore all'interno di tale spazio dei nomi sono disponibili senza qualificazione.If you specify only namespace, all uniquely named members of that namespace, and members of container elements within that namespace, are available without qualification. Se si specificano sia namespace che element, solo i membri di tale elemento saranno disponibili senza qualificazione.If you specify both namespace and element, only the members of that element are available without qualification.

EsempioExample

Nell'esempio seguente vengono restituite tutte le cartelle in C:\ la directory tramite la classe DirectoryInfo.The following example returns all the folders in the C:\ directory by using the DirectoryInfo class.

Il codice non include istruzioni Imports all'inizio del file.The code has no Imports statements at the top of the file. Pertanto, i riferimenti DirectoryInfo, StringBuilder e CrLf sono tutti completi con gli spazi dei nomi.Therefore, the DirectoryInfo, StringBuilder, and CrLf references are all fully qualified with the namespaces.

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

EsempioExample

Nell'esempio seguente vengono incluse Imports istruzioni per gli spazi dei nomi a cui si fa riferimento.The following example includes Imports statements for the referenced namespaces. Pertanto, non è necessario che i tipi siano completi con gli spazi dei nomi.Therefore, the types do not have to be fully qualified with the namespaces.

' 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

EsempioExample

Nell'esempio seguente vengono incluse Imports istruzioni che consentono di creare alias per gli spazi dei nomi a cui si fa riferimento.The following example includes Imports statements that create aliases for the referenced namespaces. I tipi sono qualificati con gli alias.The types are qualified with the aliases.

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

EsempioExample

Nell'esempio seguente vengono incluse Imports istruzioni che consentono di creare alias per i tipi a cui si fa riferimento.The following example includes Imports statements that create aliases for the referenced types. Gli alias vengono utilizzati per specificare i tipi.Aliases are used to specify the types.

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

Vedere ancheSee also