Compartilhar via


alias extern (Referência de C#)

Talvez seja necessário fazer referência a duas versões de assemblies que têm os mesmos nomes de tipo totalmente qualificados. Por exemplo, talvez seja necessário usar duas ou mais versões de um assembly no mesmo aplicativo. Usando um alias de assembly externo, você pode encapsular os namespaces de cada assembly dentro de namespaces de nível raiz nomeados pelo alias. Essa abordagem permite que você use ambas as versões no mesmo arquivo.

A linguagem C# faz referência a documentos da versão mais recentemente lançada da linguagem C#. Ele também contém a documentação inicial para funcionalidades em pré-visualizações públicas para o próximo lançamento do idioma.

A documentação identifica qualquer recurso introduzido pela primeira vez nas três últimas versões do idioma ou nas versões prévias públicas atuais.

Dica

Para descobrir quando um recurso foi introduzido pela primeira vez em C#, consulte o artigo sobre o histórico de versão 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 fazer referência a dois assemblies com os mesmos nomes de tipo totalmente qualificados, especifique um alias no arquivo .csproj e adicione o seguinte código:

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

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

Esse comando cria os aliases 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 extern apresenta um namespace de nível raiz adicional paralelizado (mas não está dentro) do namespace global. Você pode se referir a tipos de cada assembly sem ambiguidade usando seu nome totalmente qualificado, enraizado no namespace-alias apropriado.

No exemplo anterior, GridV1::Grid é o controle de grade de grid.dll, e GridV2::Grid é o controle de grade de grid20.dll.

Usando o Visual Studio

Se você estiver usando o Visual Studio, poderá fornecer aliases de maneira semelhante.

Adicione referências a grid.dll e grid20.dll ao projeto no Visual Studio. Abra a guia de propriedade e altere os Aliases de global e para GridV1 e GridV2 respectivamente.

Use esses aliases da mesma maneira que descrito anteriormente.

extern alias GridV1;  
extern alias GridV2;  

Agora você pode criar um alias para um namespace ou um tipo usando a diretiva de alias usando. Para obter mais informações, consulte como usar a 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 de idioma é a fonte definitiva para a sintaxe e o uso de C#.

Consulte também