using, directive (référence C#)
Deux utilisations de la directive using sont possibles :
Pour permettre l'utilisation de types dans un espace de noms de façon à ne pas avoir à qualifier l'utilisation d'un type dans cet espace de noms :
using System.Text;
Pour créer un alias pour un espace de noms ou un type C'est ce que l'on appelle une using-alias-directive.
using Project = PC.MyCompany.Project;
Le mot clé using permet également de créer des instructions using qui garantissent la bonne gestion des objets IDisposable, tels que fichiers et polices. Consultez Instruction using pour plus d'informations.
Notes
La portée d'une directive using est limitée 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 using-alias-directive doit en permanence être un type qualifié 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 se divisent en deux catégories : ceux définis par l'utilisateur et ceux définis par le système. Les espaces de noms définis par l'utilisateur correspondent aux espaces de noms définis dans votre code. Pour une liste des espaces de noms définis par le système, consultez .NET Framework Class Library.
Pour obtenir des exemples de références de méthodes dans d'autres assemblys, consultez Création et utilisation des DLL C#.
Exemple 1
Description
Le code suivant montre comment définir et utiliser un alias using pour un espace de noms :
Code
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 { }
}
}
}
Commentaires
Une using-alias-directive ne peut contenir un type générique ouvert sur le côté droit. Par exemple, vous ne pouvez pas créer un alias using pour List<T> mais le pouvez pour List<int>.
Exemple 2
Description
Le code suivant montre comment définir une directive using et un alias using pour une classe :
Code
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
Référence
Mots clés d'espaces de noms (Référence C#)
Espaces de noms (Guide de programmation C#)
using, instruction (référence C#)