Для чего используется свойство Aliases ссылок на сборки в Visual Studio 8

Когда я добавляю ссылку на сборку в проект в Visual Studio 8, для свойства Aliases этой ссылки устанавливается значение "global". Для чего это свойство хорошо и почему оно установлено на глобальное?

MSDN говорит мне, что это список псевдонимов для сборки, но не то, почему я мог бы хотеть использовать это свойство или почему большинство псевдонимов являются "глобальными".

Ссылка на MSDN

2 ответа

Решение

Это для "внешних псевдонимов". Предположим, вы хотите использовать два разных типа, оба из которых называются Foo.Bar (т.е. Bar в пространстве имен Foo). Эти два типа будут находиться в разных сборках (по определению) - вы используете свойство в VS, чтобы связать псевдоним с каждой ссылкой, затем вы можете сделать:

extern alias FirstAlias;
extern alias SecondAlias;

using FirstBar = FirstAlias::Foo.Bar;
using SecondBar = SecondAlias::Foo.Bar;

а затем использовать FirstBar а также SecondBar в вашем коде.

Так что в основном это дополнительный уровень именования - и вы не должны использовать его, если вам действительно не нужно. Это смущает многих людей. Старайтесь не попадать в эту ситуацию в первую очередь - но знайте об этом решении в тех случаях, когда вы просто не можете избежать его.

Искать " extern alias"; это очень редко используемая функция, которая необходима только для устранения неоднозначности между двумя dll, которые предоставляют одинаковые типы (например, две разные версии одной и той же сборки или две сборки, имеющие класс, который имеет полностью определенное имя).

"глобальный" является значением по умолчанию. Например, если у вас есть класс с именем Foo.SystemМожно однозначно сослаться на основной System пространство имен через global::System,

Другие вопросы по тегам