Partilhar via


alias externo (Referência C#)

Pode ser necessário consultar duas versões de assemblies que tenham os mesmos nomes de tipo totalmente qualificados. Por exemplo, pode precisar de usar duas ou mais versões de um conjunto na mesma aplicação. Ao usar um alias assembly externo, pode envolver os namespaces de cada assembly dentro de namespaces ao nível raiz nomeados pelo alias. Esta abordagem permite usar ambas as versões no mesmo ficheiro.

A referência da linguagem C# documenta a versão mais recentemente lançada da linguagem C#. Contém também documentação inicial para funcionalidades em versões preliminares públicas para a próxima versão da linguagem.

A documentação identifica qualquer funcionalidade introduzida pela primeira vez nas últimas três versões da língua ou em pré-visualizações públicas atuais.

Sugestão

Para saber quando uma funcionalidade foi introduzida pela primeira vez em C#, consulte o artigo sobre o histórico de versões da linguagem C#.

Observação

A palavra-chave extern também é usada como um modificador de método, declarando um método escrito em código não gerenciado.

Para referenciar dois assemblies com os mesmos nomes de tipos totalmente qualificados, especifique um alias no seu ficheiro .csproj e adicione o seguinte código:

<Reference Include="grid.dll"> 
    <Aliases>GridV1</Aliases>
</Reference>
<Reference Include="grid20.dll">
    <Aliases>GridV2</Aliases>
</Reference>

Pode saber mais no artigo sobre a tarefa CSC na documentação do Visual Studio.

Este comando cria os pseudónimos GridV1 externos e GridV2. Para usar esses aliases de dentro de um programa, faça referência a eles usando a extern palavra-chave. Por exemplo:

extern alias GridV1; extern alias GridV2;

Cada declaração de alias externo introduz um namespace adicional ao nível da raiz que paralelamente (mas não se insere dentro) do namespace global. Pode referir-se aos tipos de cada assembly sem ambiguidade usando o seu nome totalmente qualificado, enraizado no namespace-alias apropriado.

No exemplo anterior, GridV1::Grid é o controlo da grelha a partir de grid.dll, e GridV2::Grid é o controlo da grelha a partir grid20.dllde .

Usando o Visual Studio

Se estiveres a usar o Visual Studio, podes fornecer aliases de forma semelhante.

Adicione referências a grid.dll e grid20.dll ao seu projeto no Visual Studio. Abra o separador de propriedades e altere os Aliases de global para GridV1 e GridV2 respetivamente.

Use estes pseudónimos da mesma forma descrita anteriormente.

extern alias GridV1;  
extern alias GridV2;  

Agora podes criar um alias para um namespace ou um tipo usando a diretiva using alias. Para obter mais informações, consulte Usando diretiva.

using Class1V1 = GridV1::Namespace.Class1;
using Class1V2 = GridV2::Namespace.Class1;

Especificação da linguagem C#

Para obter mais informações, consulte a Especificação da Linguagem C# . A especificação da linguagem é a fonte definitiva para a sintaxe e o uso do C#.

Ver também