A che serve la proprietà Alias ??dei riferimenti di assembly in Visual Studio 8
-
08-07-2019 - |
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".
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
.