Freigeben über


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

C#-Programmierhandbuch

Referenz

C#-Schlüsselwörter

Namespaceschlüsselwörter (C#-Programmierreferenz)

Namespaces (C#-Programmierhandbuch)

using-Anweisung (C#-Referenz)

Weitere Ressourcen

C#-Referenz