Domanda

Quando aggiungo un riferimento di assieme a un progetto in Visual Studio 8, la proprietà Alias, di quel riferimento, è impostata su "globale". A cosa serve questa proprietà e perché è impostata su globale?

MSDN mi dice che questo è un elenco di alias per l'assembly, ma non il motivo per cui potrei voler usare questa proprietà o perché la maggior parte è definita come "globale".

Riferimento MSDN

È stato utile?

Soluzione

Questo è per "alias esterni". Supponiamo di voler utilizzare due tipi diversi, entrambi chiamati Foo.Bar (ovvero Bar in uno spazio dei nomi di Foo ). I due tipi si troveranno in assiemi diversi (per definizione): si utilizza la proprietà in VS per associare un alias a ciascun riferimento, quindi è possibile eseguire:

extern alias FirstAlias;
extern alias SecondAlias;

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

e quindi usa FirstBar e SecondBar nel tuo codice.

Quindi in pratica si tratta di un ulteriore livello di denominazione - e non dovresti usarlo a meno che tu non lo debba davvero. Confonderà molte persone. Cerca di evitare di entrare in quella situazione in primo luogo, ma fai attenzione a questa soluzione per quei momenti in cui non puoi proprio evitarlo.

Altri suggerimenti

Cerca " extern alias " ;; è una funzionalità utilizzata molto raramente che è necessaria solo per chiarire le ambiguità tra due DLL che contribuiscono con gli stessi tipi (ad esempio, due versioni diverse dello stesso assembly o due assembly che hanno una classe che condivide un nome completo).

" global " è l'impostazione predefinita. Ad esempio, se si dispone di una classe chiamata Foo.System , è possibile fare in modo inequivocabile lo spazio dei nomi principale System tramite global :: System .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top