extern alias (Riferimenti per C#)

È necessario far riferimento a due versioni di assembly che dispongono degli stessi nomi di tipo completi. Ad esempio, potrebbe essere necessario usare due o più versioni di un assembly nella stessa applicazione. Con un alias di assembly esterno, è possibile eseguire il wrapping degli spazi dei nomi di ogni assembly all'interno degli spazi dei nomi a livello radice denominati dall'alias, consentendone l'utilizzo nello stesso file.

Nota

La parola chiave extern viene anche usata come modificatore di metodo, che dichiara un metodo scritto in codice non gestito.

Per far riferimento a due assembly con gli stessi nomi di tipo completi, è necessario specificare un alias al prompt dei comandi, come indicato di seguito:

/r:GridV1=grid.dll

/r:GridV2=grid20.dll

In questo modo vengono creati gli alias extern GridV1 e GridV2. Per usare questi alias all'interno di un programma, far riferimento a essi tramite la parola chiave extern. Ad esempio:

extern alias GridV1;

extern alias GridV2;

Ogni dichiarazione di alias extern introduce uno spazio dei nomi aggiuntivo a livello radice che affianca lo spazio dei nomi globale, ma non si trova al suo interno. In questo modo, è possibile far riferimento ai tipi di ogni assembly senza ambiguità, usando il nome completo che dispone di una radice nell'alias dello spazio dei nomi appropriato.

Nell'esempio precedente, l'oggetto GridV1::Grid rappresenta il controllo griglia dell'oggetto grid.dll, e GridV2::Grid rappresenta il controllo griglia dell'oggetto grid20.dll.

Utilizzo di Visual Studio

Se si usa Visual Studio, gli alias possono essere forniti in modo simile.

Aggiungere un riferimento a grid.dll e grid20.dll al progetto in Visual Studio. Aprire una scheda delle proprietà e modificare gli alias rispettivamente da globale a GridV1 e GridV2.

Usare questi alias nello stesso modo precedente

 extern alias GridV1;  
  
 extern alias GridV2;  

È ora possibile creare alias per uno spazio dei nomi o un tipo tramite direttiva alias using. Per altre informazioni, vedere Direttiva using.

using Class1V1 = GridV1::Namespace.Class1;

using Class1V2 = GridV2::Namespace.Class1;

Specifiche del linguaggio C#

Per altre informazioni, vedere la specifica del linguaggio C#. La specifica del linguaggio costituisce il riferimento ufficiale principale per la sintassi e l'uso di C#.

Vedi anche