Imports, instruction (espace de noms et type .NET)

Permet aux noms de types d’être référencés sans qualification d’espace de noms.

Syntaxe

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

Éléments

Terme Définition
aliasname Optionnel. Nom ou alias d’importation auquel le code peut faire référence dans le namespace au lieu de la chaîne de qualification complète. Consultez Declared Element Names.
namespace Obligatoire. Nom complet de l’espace de noms en cours d’importation. Il peut s’agir d’une chaîne d’espaces de noms imbriqués à n’importe quel niveau.
element Optionnel. Nom d’un élément de programmation déclaré dans l’espace de noms. Il peut s’agir de n’importe quel élément conteneur.

Notes

L’instruction Imports permet de référencer directement les types contenus dans un espace de noms donné.

Vous pouvez fournir un seul nom d’espace de noms ou une chaîne d’espaces de noms imbriqués. 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 :

Imports System.Collections.Generic

Chaque fichier source peut contenir autant d’instructions Imports que nécessaire. Celles-ci doivent suivre toutes 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.

Vous pouvez utiliser Imports seulement au niveau du fichier. Cela signifie que le contexte de déclaration pour une 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.

Notez que l’instruction Imports ne met pas les éléments d’autres projets et assemblys à disposition dans votre projet. L’importation ne prend pas la place de la définition d’une référence. Elle élimine uniquement le besoin de qualifier les noms qui sont déjà disponibles dans votre projet. Pour plus d’informations, consultez « Importation d’éléments contenant » dans Références aux éléments déclarés.

Notes

Vous pouvez définir des instructions Imports implicites à l’aide de la page Références, Concepteur de projets (Visual Basic). Pour plus d’informations, consultez Guide pratique pour ajouter ou supprimer des espaces de noms importés (Visual Basic).

Alias d’importation

Un alias d’importation définit l’alias d’un espace de noms ou d’un type. Les alias d’importation sont utiles lorsque vous devez utiliser des éléments portant le même nom qui sont déclarés dans un ou plusieurs espaces de noms. Pour plus d’informations et un exemple, consultez « Qualification d’un nom d’élément » dans Références aux éléments déclarés.

Vous ne devez pas déclarer un membre au niveau du module portant le même nom que aliasname. Si vous le faites, le compilateur Visual Basic utilise aliasname uniquement pour le membre déclaré et ne le reconnaît plus en tant qu’alias d’importation.

Bien que la syntaxe utilisée pour la déclaration d’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. Un alias d’importation peut être utilisé comme expression dans votre code, tandis 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 comme préfixe d’un élément qualifié ou d’un nom d’attribut.

Noms des éléments

Si vous fournissez element, il doit représenter un élément conteneur, c’est-à-dire un élément de programmation qui peut contenir d’autres éléments. Les éléments conteneur incluent des classes, des structures, des modules, des interfaces et des énumérations.

La portée des éléments mis à disposition par une instruction Imports varie selon que vous spécifiez element ou non. 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 conteneur au sein de cet espace de noms sont disponibles sans qualification. Si vous spécifiez à la fois namespace et element, seuls les membres de cet élément sont disponibles sans qualification.

Exemple 1

L’exemple suivant retourne tous les dossiers du répertoire C:\ à l’aide de la classe DirectoryInfo :

Le code n’a aucune instruction Imports en haut du fichier. Par conséquent, les références DirectoryInfo, StringBuilder et CrLf sont toutes entièrement qualifiées avec les espaces de noms.

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

Exemple 2

L’exemple suivant comprend des instructions Imports pour les espaces de noms référencés. Par conséquent, les types n’ont pas besoin d’être tous entièrement qualifiés avec les espaces de noms.

' 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

Exemple 3

L’exemple suivant comprend des instructions Imports qui créent des alias pour les espaces de noms référencés. Les types sont qualifiés avec les 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

Exemple 4

L’exemple suivant comprend des instructions Imports qui créent des alias pour les types référencés. Les alias sont utilisés pour spécifier les 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 aussi