使用命名空間別名限定符 :: 來存取別名命名空間的成員。 您只能在兩個 :: 識別碼之間使用限定符。 左側標識碼可以是命名空間別名之一、外部別名或 global 別名。 例如:
使用 alias 指示詞建立的命名空間別名:
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# 語言規格的命名空間別名限定符一節。