extern エイリアス (C# リファレンス)
同じ完全修飾型名を持つアセンブリの 2 つのバージョンを参照することが必要になる場合があります。たとえば、1 つのアプリケーションでアセンブリの複数のバージョンを使用する必要がある場合などが挙げられます。外部アセンブリのエイリアスを使用すると、エイリアスで指定されるルート レベルの名前空間内に各アセンブリの名前空間をラップできます。これにより、これらの名前空間を 1 つのファイルで使用できます。
[!メモ]
extern キーワードは、メソッドがアンマネージ コードで作成されていることを宣言する場合に、メソッドの修飾子として使用されます。
同じ完全修飾型名を持つ 2 つのアセンブリを参照するには、コマンド プロンプトで次のようにエイリアスを指定します。
/r:GridV1=grid.dll
/r:GridV2=grid20.dll
外部エイリアス GridV1 と GridV2 が作成されます。プログラム内からこれらのエイリアスを使用するには、extern キーワードを使用してエイリアスを参照します。次に例を示します。
extern alias GridV1;
extern alias GridV2;
それぞれの extern エイリアス宣言により追加されるルートレベルの名前空間は、グローバル名前空間と並列になりますが、グローバル名前空間内には位置しません。したがって、各アセンブリの型を参照するときに、適切な名前空間エイリアスをルートとする型の完全修飾名を使用することで、あいまいさのない状態で参照できます。
前の例では、GridV1::Grid は grid.dll のグリッド コントロールであり、GridV2::Grid は grid20.dll のグリッド コントロールです。
C# 言語仕様
詳細については、「C# 言語仕様」を参照してください。言語仕様は、C# の構文と使用法に関する信頼性のある情報源です。