:: operator — operator aliasu przestrzeni nazw

Użyj kwalifikatora :: aliasu przestrzeni nazw, aby uzyskać dostęp do elementu członkowskiego aliasowanej przestrzeni nazw. Kwalifikator można używać :: tylko między dwoma identyfikatorami. Identyfikator po lewej stronie może być jednym z aliasów przestrzeni nazw, aliasu extern lub aliasu global . Na przykład:

  • Alias przestrzeni nazw utworzony za pomocą dyrektywy aliasu:

    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);
    }
    
  • Alias extern.

  • Alias global , który jest globalnym aliasem przestrzeni nazw. Globalna przestrzeń nazw to przestrzeń nazw zawierająca przestrzenie nazw i typy, które nie są deklarowane w nazwanej przestrzeni nazw. W przypadku użycia z :: kwalifikatorem global alias zawsze odwołuje się do globalnej przestrzeni nazw, nawet jeśli istnieje alias przestrzeni nazw zdefiniowanej przez global użytkownika.

    W poniższym przykładzie global alias jest używany do uzyskiwania dostępu do przestrzeni nazw platformy .NET System , która jest członkiem globalnej przestrzeni nazw. Bez aliasu global dostęp do przestrzeni nazw zdefiniowanej MyCompany.MyProduct przez System użytkownika, która jest członkiem przestrzeni nazw, będzie dostępna:

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

    Uwaga

    Słowo global kluczowe jest globalnym aliasem przestrzeni nazw tylko wtedy, gdy jest to identyfikator po lewej stronie kwalifikatora :: .

Możesz również użyć tokenu., aby uzyskać dostęp do elementu członkowskiego aliasowanej przestrzeni nazw. . Jednak token jest również używany do uzyskiwania dostępu do elementu członkowskiego typu. :: Kwalifikator gwarantuje, że jego identyfikator po lewej stronie zawsze odwołuje się do aliasu przestrzeni nazw, nawet jeśli istnieje typ lub przestrzeń nazw o tej samej nazwie.

specyfikacja języka C#

Aby uzyskać więcej informacji, zobacz sekcję kwalifikatory aliasu przestrzeni nazw specyfikacji języka C#.

Zobacz też