Visual Studio 8のアセンブリ参照のエイリアスプロパティは何を使用しますか
-
08-07-2019 - |
質問
アセンブリへの参照をVisual Studio 8のプロジェクトに追加すると、その参照のAliasesプロパティが「global」に設定されます。このプロパティは何に役立ち、なぜグローバルに設定されるのですか?
MSDNは、これがアセンブリのエイリアスのリストであることを示していますが、このプロパティを使用する理由や、ほとんどが「グローバル」としてエイリアスされている理由ではありません。
解決
これは「外部エイリアス」用です。両方とも Foo.Bar
(つまり、 Foo
のネームスペースの Bar
)と呼ばれる2つの異なるタイプを使用するとします。 2つのタイプは(定義により)異なるアセンブリにあります-VSのプロパティを使用してエイリアスを各参照に関連付けると、次のことができます:
extern alias FirstAlias;
extern alias SecondAlias;
using FirstBar = FirstAlias::Foo.Bar;
using SecondBar = SecondAlias::Foo.Bar;
次に、コードで FirstBar
および SecondBar
を使用します。
したがって、基本的には余分なレベルの名前付けです。本当に必要な場合を除き、使用しないでください。多くの人を混乱させます。そもそもそのような状況に陥らないようにしてください。ただし、回避できない場合はこの解決策に注意してください。
他のヒント
" externエイリアス&quot ;;同じタイプを提供する2つのdll(たとえば、同じアセンブリの2つの異なるバージョン、または完全修飾名を共有するクラスを持つ2つのアセンブリ)を明確にするためにのみ必要な、非常にまれに使用される機能です。
"グローバル"デフォルトです。たとえば、 Foo.System
というクラスがある場合、 global :: System
を介してメインの System
名前空間を明確に参照できます。