Какое использование имеет свойство Aliases ссылок на сборки в Visual Studio 8


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

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

ссылка MSDN

2 60

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, которые предоставляют одни и те же типы (например, две разные версии одной сборки или две сборки, имеющие класс с общим полным именем).

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