Псевдоним extern (Справочник по C#)
В некоторых случаях может потребоваться задать ссылки на две версии сборок с одинаковыми полными именами типов. Например, вам необходимо использовать две или более версий сборки в одном приложении. С помощью внешнего псевдонима сборки можно включить пространства имен для каждой сборки в оболочку внутри пространств имен корневого уровня, именуемых по этому псевдониму, что позволяет использовать их в одном файле.
Примечание
Ключевое слово extern также используется в качестве модификатора метода, объявляющего метод, написанный в неуправляемом коде.
Чтобы ссылаться на две сборки с помощью одинаковых полных имен типов, псевдоним должен быть указан в командной строке следующим образом:
/r:GridV1=grid.dll
/r:GridV2=grid20.dll
Здесь создаются внешние псевдонимы GridV1 и GridV2. Чтобы использовать эти псевдонимы в программе, создайте на них ссылку с помощью ключевого слова extern. Примеры.
extern alias GridV1;
extern alias GridV2;
При каждом объявлении псевдонима extern вводится дополнительное пространство имен корневого уровня, которое соответствует глобальному пространству имен (но не находится внутри него). Таким образом ссылки на типы из каждой сборки без неоднозначности могут создаваться с помощью их полного имени, корнем которого является соответствующий псевдоним пространства имен.
В предыдущем пример GridV1::Grid — это элемент управления Grid из grid.dll, а GridV2::Grid — это элемент управления Grid из grid20.dll.
Спецификация языка C#
Дополнительные сведения см. в Спецификация языка C#. Спецификация языка является предписывающим источником информации о синтаксисе и использовании языка C#.
См. также
Ссылки
Ключевые слова, используемые для пространств имен (справочник по C#)
Оператор :: (Справочник по C#)
/reference (параметры компилятора C#)
Основные понятия
Руководство по программированию на C#