extern alias (C#-verwijzing)

Mogelijk moet u verwijzen naar twee versies van assembly's met dezelfde volledig gekwalificeerde typenamen. U moet bijvoorbeeld twee of meer versies van een assembly in dezelfde toepassing gebruiken. Met behulp van een externe assemblyalias kunnen de naamruimten van elke assembly worden verpakt in naamruimten op hoofdniveau die worden genoemd door de alias, zodat ze in hetzelfde bestand kunnen worden gebruikt.

Notitie

Het externe trefwoord wordt ook gebruikt als methodeaanpassing, waarbij een methode wordt gedeclareerd die is geschreven in niet-beheerde code.

Als u wilt verwijzen naar twee assembly's met dezelfde volledig gekwalificeerde typenamen, moet een alias als volgt worden opgegeven bij een opdrachtprompt:

/r:GridV1=grid.dll

/r:GridV2=grid20.dll

Hiermee worden de externe aliassen GridV1 en GridV2. Als u deze aliassen vanuit een programma wilt gebruiken, kunt u ernaar verwijzen met behulp van het extern trefwoord. Voorbeeld:

extern alias GridV1;

extern alias GridV2;

Elke externe aliasdeclaratie introduceert een extra naamruimte op hoofdniveau die parallel loopt (maar niet binnen) de globale naamruimte ligt. Typen van elke assembly kunnen dus zonder dubbelzinnigheid worden verwezen met behulp van hun volledig gekwalificeerde naam, geroot in de juiste naamruimte-alias.

In het vorige voorbeeld GridV1::Grid zou het raster besturingselement zijn van grid.dll, en GridV2::Grid zou het raster besturingselement zijn van grid20.dll.

Visual Studio gebruiken

Als u Visual Studio gebruikt, kunnen aliassen op dezelfde manier worden opgegeven.

Voeg een verwijzing naar grid.dll en grid20.dll toe aan uw project in Visual Studio. Open een eigenschappentabblad en wijzig respectievelijk de aliassen van globaal in GridV1 en GridV2.

Gebruik deze aliassen op dezelfde manier als hierboven

 extern alias GridV1;  
  
 extern alias GridV2;  

U kunt nu een alias maken voor een naamruimte of een type met behulp van aliasrichtlijn. Zie de gebruiksrichtlijn voor meer informatie.

using Class1V1 = GridV1::Namespace.Class1;

using Class1V2 = GridV2::Namespace.Class1;

C#-taalspecificatie

Zie de C#-taalspecificatie voor meer informatie. De taalspecificatie is de definitieve bron voor de C#-syntaxis en het gebruik.

Zie ook