using-Direktive (C#-Referenz)
Aktualisiert: November 2007
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. Die Liste der systemdefinierten Namespaces finden Sie unter Referenz zur .NET Framework-Klassenbibliothek.
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 for a class.
using AliasToMyClass = NameSpace1.MyClass;
namespace NameSpace1
{
public class MyClass
{
public override string ToString()
{
return "You are in NameSpace1.MyClass";
}
}
}
namespace NameSpace2
{
class MyClass
{
}
}
namespace NameSpace3
{
// Using directive:
using NameSpace1;
// Using directive:
using NameSpace2;
class MainClass
{
static void Main()
{
AliasToMyClass somevar = new AliasToMyClass();
Console.WriteLine(somevar);
}
}
}
// Output: You are in NameSpace1.MyClass
C#-Programmiersprachenspezifikation
Weitere Informationen finden Sie in den folgenden Abschnitten von C#-Programmiersprachenspezifikation:
- 9.3 using-Direktiven
Siehe auch
Konzepte
Referenz
Namespaceschlüsselwörter (C#-Programmierreferenz)
Namespaces (C#-Programmierhandbuch)