externí alias (Referenční dokumentace jazyka C#)
Je možné, že budete muset odkazovat na dvě verze sestavení, které mají stejné plně kvalifikované názvy typů. Například může být třeba třeba použít dvě nebo více verzí sestavení ve stejné aplikaci. Pomocí aliasu externího sestavení lze obory názvů z každého sestavení zabalit do oborů názvů na kořenové úrovni s názvem aliasu, což umožňuje jejich použití ve stejném souboru.
Poznámka
Klíčové slovo extern se také používá jako modifikátor metody, který deklaruje metodu zapisovanou v nespravovaném kódu.
Chcete-li odkazovat na dvě sestavení se stejnými plně kvalifikovanými názvy typů, musí být na příkazovém řádku zadán alias následujícím způsobem:
/r:GridV1=grid.dll
/r:GridV2=grid20.dll
Tím se vytvoří externí aliasy a GridV1 GridV2 . Pokud chcete tyto aliasy použít v rámci programu, odkašlte na ně pomocí extern klíčového slova . Například:
extern alias GridV1;
extern alias GridV2;
Každá externí deklarace aliasu zavádí další obor názvů na kořenové úrovni, který paralelně (ale není součástí) globálního oboru názvů. Proto lze na typy z každého sestavení odkazovat bez nejednoznačnosti pomocí plně kvalifikovaného názvu, který je rootován v příslušném aliasu oboru názvů.
V předchozím příkladu GridV1::Grid by byl ovládací prvek mřížky z a ovládací prvek grid.dll GridV2::Grid mřížky z grid20.dll .
Pomocí sady Visual Studio
Pokud používáte Visual Studio, můžete aliasy skytovat podobným způsobem.
Přidejte odkaz nagrid.dll agrid20.dll do projektu v Visual Studio. Otevřete kartu vlastností a změňte aliasy z globální na GridV1 a GridV2 v uvedeném pořadí.
Tyto aliasy používejte stejným způsobem jako výše.
extern alias GridV1;
extern alias GridV2;
Teď můžete vytvořit alias pro obor názvů nebo typ pomocí direktivy alias. Další informace najdete v tématu using – direktiva.
using Class1V1 = GridV1::Namespace.Class1;
using Class1V2 = GridV2::Namespace.Class1;
Specifikace jazyka C#
Další informace najdete v tématu Specifikace jazyka C#. Specifikace jazyka je úplným a rozhodujícím zdrojem pro syntaxi a použití jazyka C#.