externí alias (Referenční dokumentace jazyka C#)

Možná budete muset odkazovat na dvě verze sestavení, které mají stejné plně kvalifikované názvy typů. Můžete například použít dvě nebo více verzí sestavení ve stejné aplikaci. Pomocí aliasu externího sestavení je možné obory názvů z každého sestavení zabalit do oborů názvů kořenové úrovně pojmenované aliasem, což umožňuje jejich použití ve stejném souboru.

Poznámka:

Extern klíčové slovo se také používá jako modifikátor metody a deklaruje metodu napsanou v nespravovaném kódu.

Chcete-li odkazovat na dvě sestavení se stejnými plně kvalifikovanými názvy typů, musí být alias zadán na příkazovém řádku následujícím způsobem:

/r:GridV1=grid.dll

/r:GridV2=grid20.dll

Tím se vytvoří externí aliasy GridV1 a GridV2. Pokud chcete tyto aliasy používat v rámci programu, na ně extern použijte klíčové slovo. Příklad:

extern alias GridV1;

extern alias GridV2;

Každá externí deklarace aliasu představuje další obor názvů kořenové úrovně, který paralelně (ale nelehá v rámci) globálního oboru názvů. Proto lze typy z každého sestavení odkazovat bez nejednoznačnosti pomocí jejich plně kvalifikovaného názvu roota v příslušném aliasu oboru názvů.

V předchozím příkladu GridV1::Grid by to byl ovládací prvek mřížky z grid.dlla GridV2::Grid byl by to ovládací prvek mřížky z grid20.dll.

Používání sady Visual Studio

Pokud používáte Visual Studio, můžete aliasy poskytnout podobným způsobem.

Přidejte odkaz na grid.dll a grid20.dll do projektu v sadě Visual Studio. Otevřete kartu vlastností a změňte aliasy z globálního na GridV1 a GridV2.

Použití těchto aliasů 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 použití direktivy.

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#.

Viz také