エイリアス化された名前空間のメンバーにアクセスするには、名前空間エイリアス修飾子 ::
を使用します。
::
修飾子は、2 つの識別子の間でのみ使用できます。 左側の識別子には、名前空間エイリアス、extern エイリアス、または 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
エイリアスがないと、MyCompany.MyProduct
名前空間のメンバーであるユーザー定義のSystem
名前空間にアクセスします。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# 言語仕様の名前空間エイリアス修飾子に関するセクションを参照してください。
こちらも参照ください
.NET