Freigeben über


extern-Alias (C#-Referenz)

Sie müssen möglicherweise auf zwei Versionen von Assemblys verweisen, die denselben vollqualifizierten Namen besitzen. Beispielsweise müssen Sie möglicherweise zwei oder mehr Versionen einer Assembly in derselben Anwendung verwenden. Indem Sie einen externen Assemblyalias verwenden, können die Namespaces jeder Assembly in Namespaces auf Stammebene, benannt durch den Alias, umschlossen werden, was es ihnen ermöglicht, von derselben Datei verwendet zu werden.

Hinweis

Das extern-Schlüsselwort dient außerdem als Methodenmodifizierer, der eine Methode deklariert, die in nicht verwaltetem Code geschrieben wurde.

Um auf zwei Assemblys mit demselben vollqualifizierten Typnamen zu verweisen, muss ein Alias in einer Befehlszeile wie folgt angegeben werden:

/r:GridV1=grid.dll

/r:GridV2=grid20.dll

Dies erstellt die externen Aliase GridV1 und GridV2. Um diese Aliase aus einem Programm heraus zu verwenden, verweisen Sie mithilfe des extern-Schlüsselworts auf sie. Beispiel:

extern alias GridV1;

extern alias GridV2;

Jede externe Aliasdeklaration führt einen zusätzlichen Namespace auf Stammebene ein, parallel zum (aber nicht innerhalb des) globalen Namespace. Daher kann mithilfe des vollqualifizierten Namens, der als Stamm des entsprechenden Namespacealias dient, auf Typen jeder Assembly eindeutig verwiesen werden.

Im vorherigen Beispiel wäre GridV1::Grid das Steuerelement von grid.dll, und GridV2::Grid wäre das Steuerelement von grid20.dll.

Verwenden von Visual Studio

Wenn Sie Visual Studio verwenden, können Aliase auf ähnliche Weise bereitgestellt werden.

Fügen Sie Ihrem Projekt in Visual Studio Verweise auf grid.dll und grid20.dll hinzu. Öffnen Sie eine Registerkarte mit Eigenschaften, und ändern Sie die Aliase von „global“ in „GridV1“ bzw. „GridV2“.

Verwenden Sie diese Aliase auf die gleiche Weise wie oben:

 extern alias GridV1;  
  
 extern alias GridV2;  

Jetzt können Sie einen Alias für einen Namespace oder Typ erstellen, indem Sie eine using-alias-Anweisung verwenden. Weitere Information finden Sie unter using-Anweisung.

using Class1V1 = GridV1::Namespace.Class1;

using Class1V2 = GridV2::Namespace.Class1;

C#-Programmiersprachenspezifikation

Weitere Informationen erhalten Sie unter C#-Sprachspezifikation. Die Sprachspezifikation ist die verbindliche Quelle für die Syntax und Verwendung von C#.

Siehe auch