using-Direktive (C#-Referenz)
Die using-Direktive besitzt zwei Verwendungen:
Zulassen der Verwendung von Typen in einem Namespace, sodass die Verwendung eines Typs in diesem Namespace nicht qualifiziert werden muss:
using System.Text;
Erstellen eines Alias für einen Namespace oder einen Typ:Dies wird als using-alias-directive bezeichnet.
using Project = PC.MyCompany.Project;
Das using-Schlüsselwort wird auch zum Erstellen von using-Anweisungen verwendet, mit denen sichergestellt werden kann, dass IDisposable-Objekte wie Dateien und Schriftarten richtig verarbeitet werden.Weitere Informationen finden Sie unter using-Anweisung.
Hinweise
Der Bereich einer using-Direktive ist auf die Datei beschränkt, in der sie steht.
Ein using-Alias wird erstellt, um das Kennzeichnen eines Bezeichners für einen Namespace oder einen Typ zu vereinfachen.Die rechte Seite einer using-alias-directive muss unabhängig von den using-Direktiven davor stets ein vollqualifizierter Typ sein.
using-Direktiven werden erstellt, um Typen in einem Namespace zu verwenden, ohne den Namespace angeben zu müssen.Durch eine using-Direktive wird kein Zugriff auf Namespaces ermöglicht, die in dem angegebenen Namespace geschachtelt sind.
Es gibt zwei Kategorien von Namespaces: benutzerdefinierte und systemdefinierte Namespaces.Bei benutzerdefinierten Namespaces handelt es sich um Namespaces, die im Code definiert werden.Eine Liste der Namespaces finden Sie unter systemdefinierten. .NET Framework Class Library
Beispiele für das Verweisen auf Methoden in anderen Assemblys finden Sie unter Erstellen und Verwenden von C#-DLLs.
Beispiel 1
Beschreibung
Im folgenden Beispiel wird gezeigt, wie ein using-Alias für einen Namespace definiert und verwendet wird:
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 { }
}
}
}
Kommentare
Eine using-alias-directive kann auf der rechten Seite keinen geöffneten generischen Typ enthalten.Beispielsweise können Sie keinen using-Alias für eine List<T>, jedoch für eine List<int> erstellen.
Beispiel 2
Beschreibung
Im folgenden Beispiel wird gezeigt, wie eine using-Direktive und ein using-Alias für eine Klasse definiert werden:
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.
C#-Programmiersprachenspezifikation
Weitere Informationen finden Sie in der C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.
Siehe auch
Referenz
Namespaceschlüsselwörter (C#-Programmierreferenz)
Namespaces (C#-Programmierhandbuch)