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

StackOverflow https://stackoverflow.com/questions/286632

Вопрос

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

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

Ссылка на MSDN

Это было полезно?

Решение

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

extern alias FirstAlias;
extern alias SecondAlias;

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

, а затем используйте FirstBar и SecondBar в своем коде.

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top