Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Может потребоваться ссылаться на две версии сборок с одинаковыми полными именами типов. Например, может потребоваться использовать две или более версии сборки в одном приложении. С помощью псевдонима внешней сборки можно упаковать пространства имен из каждой сборки в пространства имен корневого уровня с именем псевдонима. Этот подход позволяет использовать обе версии в одном файле.
Справочные документы по языку C# описывают последнюю выпущенную версию языка C#. Она также содержит начальную документацию по функциям в общедоступных предварительных версиях для предстоящего языкового выпуска.
Документация определяет любую функцию, впервые представленную в последних трех версиях языка или в текущих общедоступных предварительных версиях.
Подсказка
Чтобы узнать, когда функция впервые появилась в C#, ознакомьтесь со статьей об истории версий языка C#.
Замечание
Ключевое слово extern также используется в качестве модификатора метода, объявляя метод, написанный в неуправляемом коде.
Чтобы ссылаться на две сборки с одинаковыми полными именами типов, укажите псевдоним в CSPROJ-файле и добавьте следующий код:
<Reference Include="grid.dll">
<Aliases>GridV1</Aliases>
</Reference>
<Reference Include="grid20.dll">
<Aliases>GridV2</Aliases>
</Reference>
Дополнительные сведения см. в статье о задаче CSC в документации по Visual Studio.
Эта команда создает внешние псевдонимы GridV1 и GridV2. Чтобы использовать эти псевдонимы из программы, ссылайтесь на них с помощью ключевого extern слова. Рассмотрим пример.
extern alias GridV1;
extern alias GridV2;
Каждое объявление экстерна псевдонима представляет дополнительное пространство имен корневого уровня, которое параллелирует (но не лежит в пределах) глобального пространства имен. Вы можете ссылаться на типы из каждой сборки без неоднозначности, используя полное имя, корневое имя в соответствующем псевдониме пространства имен.
В предыдущем примере GridV1::Grid — это элемент управления сетки, из grid.dllgrid20.dllкоторый GridV2::Grid используется элемент управления сеткой.
Использование Visual Studio
Если вы используете Visual Studio, вы можете предоставить псевдонимы таким же образом.
Добавьте ссылки на grid.dll и grid20.dll в проект в Visual Studio. Откройте вкладку свойств и измените псевдонимы соответственно globalGridV1GridV2 .
Используйте эти псевдонимы так же, как описано ранее.
extern alias GridV1;
extern alias GridV2;
Теперь можно создать псевдоним для пространства имен или типа с помощью директивы псевдонима. Дополнительные сведения см. в директиве using.
using Class1V1 = GridV1::Namespace.Class1;
using Class1V2 = GridV2::Namespace.Class1;
Спецификация языка C#
Дополнительные сведения см. в спецификации языка C#. Спецификация языка является авторитетным источником синтаксиса и использования языка C#.