Quelle utilisation est la propriété Aliases des références d'assembly dans Visual Studio 8
-
08-07-2019 - |
Question
Lorsque j'ajoute une référence d'assemblage à un projet dans Visual Studio 8, la propriété Aliases de cette référence est définie sur "globale". A quoi sert cette propriété et pourquoi est-elle définie sur Global?
MSDN m'a dit qu'il s'agissait d'une liste d'alias pour l'assembly, mais non de la raison pour laquelle je pouvais utiliser cette propriété ou de la raison pour laquelle la plupart des alias étaient associés à l'alias "global".
La solution
Ceci est destiné aux "alias externes". Supposons que vous souhaitiez utiliser deux types différents, les deux étant appelés Foo.Bar
(c'est-à-dire Bar
dans un espace de nommage de Foo
). Les deux types seront dans des assemblys différents (par définition) - vous utilisez la propriété dans VS pour associer un alias à chaque référence, puis vous pouvez le faire:
extern alias FirstAlias;
extern alias SecondAlias;
using FirstBar = FirstAlias::Foo.Bar;
using SecondBar = SecondAlias::Foo.Bar;
puis utilisez FirstBar
et SecondBar
dans votre code.
Donc, en gros, c’est un niveau supplémentaire de nommage - et vous ne devriez pas l’utiliser sauf si vous en avez vraiment besoin. Cela va dérouter beaucoup de gens. Essayez de ne pas vous mettre dans cette situation, mais soyez conscient de cette solution pour les moments où vous ne pouvez pas l'éviter.
Autres conseils
Recherchez " alias externe " ;; c'est une fonctionnalité très rarement utilisée qui est nécessaire uniquement pour lever la ambiguïté entre deux dll qui contribuent les mêmes types (par exemple, deux versions différentes du même assemblage ou deux assemblys ayant une classe qui partage un nom complet).
" global " est la valeur par défaut. Par exemple, si vous avez une classe appelée Foo.System
, vous pouvez faire référence à l’espace de noms System
principal via global :: System
. <. / p>