Freigeben über


:: operator - der Namespacealiasoperator

Verwenden Sie den Namespacealiasqualifizierer :: , um auf ein Mitglied eines aliasierten Namespace zuzugreifen. Sie können den :: Qualifizierer nur zwischen zwei Bezeichnern verwenden. Der linke Bezeichner kann ein Namespacealias, ein externer Alias oder der global Alias sein. Beispiel:

  • Ein Namespacealias, der mit einer using-Aliasdirektive erstellt wurde:

    using forwinforms = System.Drawing;
    using forwpf = System.Windows;
    
    public class Converters
    {
        public static forwpf::Point Convert(forwinforms::Point point) => new forwpf::Point(point.X, point.Y);
    }
    
  • Ein externer Alias.

  • Der global Alias, bei dem es sich um den globalen Namespacealias handelt. Der globale Namespace ist der Namespace, der Namespaces und Typen enthält, die nicht innerhalb eines benannten Namespace deklariert sind. Bei Verwendung mit dem :: Qualifizierer verweist der global Alias immer auf den globalen Namespace, auch wenn der benutzerdefinierte global Namespacealias vorhanden ist.

    Im folgenden Beispiel wird der global Alias verwendet, um auf den .NET-Namespace System zuzugreifen, bei dem es sich um ein Mitglied des globalen Namespaces handelt. Ohne den Alias würde auf den global benutzerdefinierten System Namespace, der Mitglied des MyCompany.MyProduct Namespaces ist, zugegriffen werden:

    namespace MyCompany.MyProduct.System
    {
        class Program
        {
            static void Main() => global::System.Console.WriteLine("Using global alias");
        }
    
        class Console
        {
            string Suggestion => "Consider renaming this class";
        }
    }
    

    Hinweis

    Das global Schlüsselwort ist der globale Namespacealias nur, wenn es sich um den linken Bezeichner des :: Qualifizierers handelt.

Sie können das . Token auch verwenden, um auf ein Mitglied eines aliasierten Namespace zuzugreifen. . Das Token wird jedoch auch für den Zugriff auf ein Typmitglied verwendet. Der :: Qualifizierer stellt sicher, dass sein linker Bezeichner immer auf einen Namespacealias verweist, auch wenn ein Typ oder Namespace mit demselben Namen vorhanden ist.

C#-Sprachspezifikation

Weitere Informationen finden Sie im Abschnitt "Namespacealiasqualifizierer " der C#-Sprachspezifikation.

Siehe auch