using, directive (référence C#)

La directive using a trois utilisations :

  • Pour autoriser l'utilisation de types dans un espace de noms pour ne pas avoir à qualifier l'utilisation d'un type dans cet espace de noms :

    using System.Text;  
    
  • Pour vous permettre d’accéder aux membres statiques d’un type sans devoir qualifier l’accès avec le nom du type.

    using static System.Math;  
    

    Pour plus d’informations, consultez la directive using static.

  • Pour créer un alias pour un espace de noms ou un type. Cela s’appelle une directive using alias.

    using Project = PC.MyCompany.Project;  
    

    Le mot clé using est également utilisé pour créer des instructions using, qui garantissent que les objets <xref:System.IDisposable> tels que les fichiers et les polices sont gérés correctement. Pour plus d’informations, consultez using, instruction.

Utilisation du type static

Vous pouvez accéder aux membres statiques d'un type sans devoir qualifier l'accès avec le nom du type :

using static System.Console;   
using static System.Math;  
class Program   
{   
    static void Main()   
    {   
        WriteLine(Sqrt(3*3 + 4*4));   
    }   
}  

Remarques

La portée d'une directive using se limite au fichier dans lequel elle apparaît.

Créez un alias using pour faciliter la qualification d'un identificateur pour un espace de noms ou un type. Le côté droit d'une directive d'alias using doit toujours être un type complet quelles que soient les directives using placées avant.

Créez une directive using pour utiliser les types dans un espace de noms sans avoir à spécifier l'espace de noms. Une directive using ne vous donne pas accès à des espaces de noms imbriqués dans l'espace de noms que vous spécifiez.

Les espaces de noms sont organisés en deux catégories : définis par l'utilisateur et définis par le système. Les espaces de noms définis par l'utilisateur sont des espaces de noms définis dans votre code. Pour obtenir la liste des espaces de noms définis par le système, consultez la bibliothèque de classes .NET Framework.

Pour obtenir des exemples de référencement de méthodes dans d’autres assemblys, consultez Création et utilisation des DLL C#.

Exemple 1

L'exemple suivant montre comment définir et utiliser un alias using pour un espace de noms :

namespace PC
{
    // Define an alias for the nested namespace.
    using Project = PC.MyCompany.Project;
    class A
    {
        void M()
        {
            // Use the alias
            Project.MyClass mc = new Project.MyClass();
        }
    }
    namespace MyCompany
    {
        namespace Project
        {
            public class MyClass { }
        }
    }
}

Une directive d'alias using ne peut pas avoir un type générique ouvert sur le côté droit. Par exemple, vous ne pouvez pas créer un alias using pour un List<T>, mais vous pouvez en créer un pour un List<int>.

Exemple 2

L'exemple suivant montre comment définir une directive using et un alias using pour une classe :

using System;

// Using alias directive for a class.
using AliasToMyClass = NameSpace1.MyClass;

// Using alias directive for a generic class.
using UsingAlias = NameSpace2.MyClass<int>;

namespace NameSpace1
{
    public class MyClass
    {
        public override string ToString()
        {
            return "You are in NameSpace1.MyClass.";
        }
    }

}

namespace NameSpace2
{
    class MyClass<T>
    {
        public override string ToString()
        {
            return "You are in NameSpace2.MyClass.";
        }
    }
}

namespace NameSpace3
{
    // Using directive:
    using NameSpace1;
    // Using directive:
    using NameSpace2;

    class MainClass
    {
        static void Main()
        {
            AliasToMyClass instance1 = new AliasToMyClass();
            Console.WriteLine(instance1);

            UsingAlias instance2 = new UsingAlias();
            Console.WriteLine(instance2);

        }
    }
}
// Output: 
//    You are in NameSpace1.MyClass.
//    You are in NameSpace2.MyClass.

Spécification du langage C#

Pour plus d'informations, voir la spécification du langage C#. La spécification du langage est la source de référence pour la syntaxe C# et son utilisation.

Voir aussi

Informations de référence sur C#
Guide de programmation C#
Utilisation d’espaces de noms
Mots clés C#
Mots clés d’espaces de noms
Espaces de noms
using, instruction