extern-Alias (C#-Referenz)extern alias (C# Reference)

Sie müssen möglicherweise auf zwei Versionen von Assemblys verweisen, die denselben vollqualifizierten Namen besitzen.You might have to reference two versions of assemblies that have the same fully-qualified type names. Beispielsweise müssen Sie möglicherweise zwei oder mehr Versionen einer Assembly in derselben Anwendung verwenden.For example, you might have to use two or more versions of an assembly in the same application. 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.By using an external assembly alias, the namespaces from each assembly can be wrapped inside root-level namespaces named by the alias, which enables them to be used in the same file.

Hinweis

Das extern-Schlüsselwort dient außerdem als Methodenmodifizierer, der eine Methode deklariert, die in nicht verwaltetem Code geschrieben wurde.The extern keyword is also used as a method modifier, declaring a method written in unmanaged code.

Um auf zwei Assemblys mit demselben vollqualifizierten Typnamen zu verweisen, muss ein Alias in einer Befehlszeile wie folgt angegeben werden:To reference two assemblies with the same fully-qualified type names, an alias must be specified at a command prompt, as follows:

/r:GridV1=grid.dll

/r:GridV2=grid20.dll

Dies erstellt die externen Aliase GridV1 und GridV2.This creates the external aliases GridV1 and GridV2. Um diese Aliase aus einem Programm heraus zu verwenden, verweisen Sie mithilfe des extern-Schlüsselworts auf sie.To use these aliases from within a program, reference them by using the extern keyword. Zum Beispiel:For example:

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.Each extern alias declaration introduces an additional root-level namespace that parallels (but does not lie within) the global namespace. Daher kann mithilfe des vollqualifizierten Namens, der als Stamm des entsprechenden Namespacealias dient, auf Typen jeder Assembly eindeutig verwiesen werden.Thus types from each assembly can be referred to without ambiguity by using their fully qualified name, rooted in the appropriate namespace-alias.

Im vorherigen Beispiel wäre GridV1::Grid das Steuerelement von grid.dll, und GridV2::Grid wäre das Steuerelement von grid20.dll.In the previous example, GridV1::Grid would be the grid control from grid.dll, and GridV2::Grid would be the grid control from grid20.dll.

C#-ProgrammiersprachenspezifikationC# Language Specification

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

Siehe auchSee Also

C#-ReferenzC# Reference
C#-ProgrammierhandbuchC# Programming Guide
C#-SchlüsselwörterC# Keywords
NamespaceschlüsselwörterNamespace Keywords
::-Operator:: Operator
/reference (C#-Compileroptionen)/reference (C# Compiler Options)