Para que serve a propriedade Aliases de referências de montagem em 8 Visual Studio
-
08-07-2019 - |
Pergunta
Quando eu adiciono uma referência de assembly para um projeto no Visual Studio 8 a propriedade Aliases, de que a referência, é definido como "global". O que é esta propriedade bom para e por que é definida como global?
MSDN diz-me que esta é uma lista de aliases para a montagem, mas não porque eu poderia querer usar essa propriedade ou porque a maioria é alias como "global".
Solução
Isto é para "aliases externo". Suponha que você queira usar dois tipos diferentes, sendo que ambos são chamados Foo.Bar
(ou seja Bar
em um espaço de Foo
). Os dois tipos estarão em diferentes montagens (por definição) - você usa a propriedade em VS para associar um alias com cada referência, então você pode fazer:
extern alias FirstAlias;
extern alias SecondAlias;
using FirstBar = FirstAlias::Foo.Bar;
using SecondBar = SecondAlias::Foo.Bar;
e, em seguida, usar FirstBar
e SecondBar
em seu código.
Então, basicamente, é um nível extra de nomeação - e você não deve usá-lo a menos que você realmente precisa. Ele vai confundir muita gente. Tente evitar entrar nessa situação, em primeiro lugar -. Mas esteja ciente desta solução para aqueles momentos em que você simplesmente não pode evitá-lo
Outras dicas
Pesquise " extern apelido "; é um recurso muito raramente usado que só é necessária para remover a ambiguidade entre duas DLLs que contribuem os mesmos tipos (por exemplo, duas versões diferentes do mesmo conjunto, ou dois conjuntos que possuem uma classe que partes a-nome completo).
"global" é o padrão. Por exemplo, se você tem uma classe chamada Foo.System
, você pode inequivocamente referem-se a principal namespace System
via global::System
.