Imports, instruction (espace de noms et type .NET)Imports Statement (.NET Namespace and Type)

Permet de référencer des noms de types sans qualification d’espace de noms.Enables type names to be referenced without namespace qualification.

SyntaxeSyntax

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

ComposantsParts

TermeTerm DéfinitionDefinition
aliasname Ce paramètre est facultatif.Optional. Alias d’importation ou nom par lequel le code peut faire référence à namespace au lieu de la chaîne de qualification complète.An import alias or name by which code can refer to namespace instead of the full qualification string. Consultez Declared Element Names.See Declared Element Names.
namespace Requis.Required. Nom qualifié complet de l’espace de noms importé.The fully qualified name of the namespace being imported. Peut être une chaîne d’espaces de noms imbriqués à n’importe quel niveau.Can be a string of namespaces nested to any level.
element Ce paramètre est facultatif.Optional. Nom d’un élément de programmation déclaré dans l’espace de noms.The name of a programming element declared in the namespace. Peut être n’importe quel élément conteneur.Can be any container element.

NotesRemarks

L’instruction Imports permet de référencer directement les types contenus dans un espace de noms donné.The Imports statement enables types that are contained in a given namespace to be referenced directly.

Vous pouvez fournir un nom d’espace de noms unique ou une chaîne d’espaces de noms imbriqués.You can supply a single namespace name or a string of nested namespaces. Chaque espace de noms imbriqué est séparé de l’espace de noms de niveau supérieur suivant par un point (.), comme l’illustre l’exemple suivant :Each nested namespace is separated from the next higher level namespace by a period (.), as the following example illustrates:

Imports System.Collections.Generic

Chaque fichier source peut contenir un nombre quelconque d’instructions Imports.Each source file can contain any number of Imports statements. Celles-ci doivent suivre les déclarations d’option, telles que l’instruction Option Strict, et elles doivent précéder toutes les déclarations d’éléments de programmation, telles que les instructions Module ou 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.

Vous pouvez utiliser Imports uniquement au niveau du fichier.You can use Imports only at file level. Cela signifie que le contexte de déclaration pour l’importation doit être un fichier source et ne peut pas être un espace de noms, une classe, une structure, un module, une interface, une procédure ou un bloc.This means the declaration context for importation must be a source file, and cannot be a namespace, class, structure, module, interface, procedure, or block.

Notez que l’instruction Imports ne rend pas les éléments d’autres projets et assemblys disponibles pour votre projet.Note that the Imports statement does not make elements from other projects and assemblies available to your project. L’importation ne remplace pas la définition d’une référence.Importing does not take the place of setting a reference. Il n’est plus nécessaire de qualifier des noms déjà disponibles pour votre projet.It only removes the need to qualify names that are already available to your project. Pour plus d’informations, consultez « importation d’éléments contenants » dans les références aux éléments déclarés.For more information, see "Importing Containing Elements" in References to Declared Elements.

Notes

Vous pouvez définir des instructions Imports implicites à l’aide de la page références, concepteur de projets (Visual Basic).You can define implicit Imports statements by using the References Page, Project Designer (Visual Basic). Pour plus d’informations, consultez Comment : ajouter ou supprimer des espaces de noms importés (Visual Basic).For more information, see How to: Add or Remove Imported Namespaces (Visual Basic).

Alias d’importationImport Aliases

Un alias d’importation définit l’alias pour un espace de noms ou un type.An import alias defines the alias for a namespace or type. Les alias d’importation sont utiles quand vous devez utiliser des éléments portant le même nom et qui sont déclarés dans un ou plusieurs espaces de noms.Import aliases are useful when you need to use items with the same name that are declared in one or more namespaces. Pour plus d’informations et pour obtenir un exemple, consultez « qualifier un nom d’élément » dans les références aux éléments déclarés.For more information and an example, see "Qualifying an Element Name" in References to Declared Elements.

Vous ne devez pas déclarer un membre au niveau du module avec le même nom que aliasname.You should not declare a member at module level with the same name as aliasname. Si vous le faites, le compilateur Visual Basic utilise aliasname uniquement pour le membre déclaré et ne le reconnaît plus comme alias d’importation.If you do, the Visual Basic compiler uses aliasname only for the declared member and no longer recognizes it as an import alias.

Bien que la syntaxe utilisée pour déclarer un alias d’importation soit similaire à celle utilisée pour l’importation d’un préfixe d’espace de noms XML, les résultats sont différents.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 d’importation peut être utilisé en tant qu’expression dans votre code, alors qu’un préfixe d’espace de noms XML ne peut être utilisé que dans des littéraux XML ou des propriétés d’axe XML en tant que préfixe d’un élément qualifié ou d’un nom d’attribut.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.

Noms des élémentsElement Names

Si vous fournissez element, il doit représenter un élément conteneur, autrement dit un élément de programmation qui peut contenir d’autres éléments.If you supply element, it must represent a container element, that is, a programming element that can contain other elements. Les éléments de conteneur incluent des classes, des structures, des modules, des interfaces et des énumérations.Container elements include classes, structures, modules, interfaces, and enumerations.

La portée des éléments rendus disponibles par une instruction Imports varie selon que vous spécifiez element.The scope of the elements made available by an Imports statement depends on whether you specify element. Si vous spécifiez uniquement namespace, tous les membres nommés de manière unique de cet espace de noms, et les membres des éléments de conteneur dans cet espace de noms, sont disponibles sans qualification.If you specify only namespace, all uniquely named members of that namespace, and members of container elements within that namespace, are available without qualification. Si vous spécifiez à la fois namespace et element, seuls les membres de cet élément sont disponibles sans qualification.If you specify both namespace and element, only the members of that element are available without qualification.

ExempleExample

L’exemple suivant retourne tous les dossiers dans le répertoire C :\ à l’aide de la classe DirectoryInfo :The following example returns all the folders in the C:\ directory by using the DirectoryInfo class:

Le code n’a aucune instruction Imports en haut du fichier.The code has no Imports statements at the top of the file. Par conséquent, les références DirectoryInfo, StringBuilderet CrLf sont toutes qualifiées complètes avec les espaces de noms.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

ExempleExample

L’exemple suivant comprend des instructions Imports pour les espaces de noms référencés.The following example includes Imports statements for the referenced namespaces. Par conséquent, il n’est pas nécessaire que les types soient entièrement qualifiés avec les espaces de noms.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

ExempleExample

L’exemple suivant comprend des instructions Imports qui créent des alias pour les espaces de noms référencés.The following example includes Imports statements that create aliases for the referenced namespaces. Les types sont qualifiés avec les 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

ExempleExample

L’exemple suivant comprend des instructions Imports qui créent des alias pour les types référencés.The following example includes Imports statements that create aliases for the referenced types. Les alias sont utilisés pour spécifier les types.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

Voir aussiSee also