:: 運算子:命名空間別名運算子

使用命名空間別名限定詞 :: 存取別名命名空間的成員。 您可以在兩個識別碼之間使用 :: 限定詞。 左邊識別碼可以是其中一個命名空間別名、外部別名或 global 別名。 例如:

  • 使用 using 別名指示詞建立的命名空間別名:

    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);
    }
    
  • 外部別名

  • global 別名,這是全域命名空間別名。 全域命名空間是包含未在具名命名空間中宣告之命名空間和型別的命名空間。 與 :: 限定詞搭配使用時,global 別名一律會參考全域命名空間,即使有使用者定義的 global 命名空間別名也一樣。

    下列範例使用 global 別名來存取 .NET System 命名空間,這是全域命名空間的成員。 如果沒有 global 別名,則會存取使用者定義的 System 命名空間,這是 MyCompany.MyProduct 命名空間的成員:

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

    注意

    global 關鍵字只有在它是 :: 限定詞的左邊識別碼時,才是全域命名空間別名。

您也可以使用.權杖存取別名命名空間的成員。 但 . 權杖也會用來存取型別成員。 :: 限定詞可確保其左邊的識別碼一律會參考命名空間別名,即使存在具有相同名稱的型別或命名空間也一樣。

C# 語言規格

如需詳細資訊,請參閱 C# 語言規格命名空間別名限定詞一節。

另請參閱