67 votes

Quel est l'Alias de la propriété de références d'assembly dans Visual Studio 8

Quand j'ai ajouter une référence d'assembly à un projet dans Visual Studio 8 l'Alias de la propriété, de la référence, est "global". Qu'est-ce que cette propriété, bonne et pourquoi est-elle globale?

MSDN me dit que c'est une liste d'alias pour le montage, mais pas pourquoi je voudrez utiliser cette propriété ou pourquoi la plupart sont des alias en tant que "global".

Référence MSDN

115voto

Jon Skeet Points 692016

C'est pour "extern alias". Supposons que vous souhaitez utiliser deux types différents, qui sont tous deux appelés Foo.Bar (c - Bar dans un espace de noms de l' Foo). Les deux types seront dans les différentes assemblées (par définition) - vous d'utiliser le bien de VS pour associer un alias pour chaque référence, alors vous pouvez faire:

extern alias FirstAlias;
extern alias SecondAlias;

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

et puis utiliser FirstBar et SecondBar dans votre code.

Donc, fondamentalement, c'est un niveau supplémentaire de nommage, et vous ne devriez pas l'utiliser à moins que vous vraiment, vraiment. Il va confondre beaucoup de gens. Essayez d'éviter de tomber dans cette situation en premier lieu - mais il faut être conscient de cette solution pour les moments où vous ne pouvez pas l'éviter.

32voto

Marc Gravell Points 482669

Recherche pour "extern alias", il est très rarement utilisé la fonction qui est nécessaire pour lever l'ambiguïté entre les deux dll qui contribuent du même type (par exemple, deux versions différentes de la même assemblée, ou les deux assemblées qui ont une classe qui partage complet-nom).

"global" est la valeur par défaut. Par exemple, si vous avez une classe appelée Foo.System, vous pouvez sans ambiguïté, reportez-vous à la principale System de l'espace de noms par global::System.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X