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".

referência MSDN

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top