73

Visual Studio 8 でアセンブリ参照をプロジェクトに追加すると、その参照の Aliases プロパティが "global" に設定されます。このプロパティは何に適していますか? グローバルに設定されているのはなぜですか?

MSDN は、これがアセンブリのエイリアスのリストであることを教えてくれますが、なぜこのプロパティを使用する必要があるのか​​ 、またはほとんどが「グローバル」としてエイリアス化されている理由ではありません。

MSDN リファレンス

4

2 に答える 2

126

これは「外部エイリアス」用です。2 つの異なる型を使用したいとします。どちらも呼び出されますFoo.Bar(つまりBar、 の名前空間でFoo)。2 つのタイプは (定義により) 異なるアセンブリになります。VS でプロパティを使用してエイリアスを各参照に関連付けると、次のことができます。

extern alias FirstAlias;
extern alias SecondAlias;

using FirstBar = FirstAlias::Foo.Bar;
using SecondBar = SecondAlias::Foo.Bar;

コードでand を使用FirstBarSecondBarます。

つまり、基本的には追加レベルのネーミングであり、本当に必要でない限り使用しないでください。多くの人を混乱させるでしょう。そもそもそのような状況に陥らないようにしてください。ただし、避けられない場合は、この解決策に注意してください。

于 2008-11-13T09:37:25.577 に答える
32

「 extern エイリアス」を検索します。これは、同じ型を提供する 2 つの dll の間のあいまいさを解消するためにのみ必要な、めったに使用されない機能です (たとえば、同じアセンブリの 2 つの異なるバージョン、または完全修飾名を共有するクラスを持つ 2 つのアセンブリ)。

「グローバル」がデフォルトです。たとえば、 というクラスがある場合、を介してメインの名前空間をFoo.System明確に参照できます。Systemglobal::System

于 2008-11-13T09:37:12.957 に答える