Каким будет свойство Aliases ссылок на сборки в Visual Studio 8
Когда я добавляю ссылку на сборку проекта в Visual Studio 8, свойство "Псевдонимы" этой ссылки устанавливается на "глобальный". Для чего это свойство полезно и почему оно установлено в глобальном?
MSDN сообщает мне, что это список псевдонимов для сборки, но не почему я могу использовать это свойство или почему большинство из них псевдонимы как "глобальные".
Ссылка MSDN
Ответы
Ответ 1
Это для "внешних псевдонимов". Предположим, вы хотите использовать два разных типа, оба из которых называются Foo.Bar
(т.е. Bar
в пространстве имен Foo
). Эти два типа будут находиться в разных сборках (по определению) - вы используете свойство в VS для связывания псевдонима с каждой ссылкой, а затем можете:
extern alias FirstAlias;
extern alias SecondAlias;
using FirstBar = FirstAlias::Foo.Bar;
using SecondBar = SecondAlias::Foo.Bar;
а затем используйте FirstBar
и SecondBar
в вашем коде.
Итак, в основном это дополнительный уровень именования - и вы не должны его использовать, если вам действительно не нужно. Это смутит многих людей. Старайтесь не вникать в эту ситуацию в первую очередь - но будьте в курсе этого решения в те времена, когда вы просто не можете этого избежать.
Ответ 2
Искать " extern alias"; это очень редко используемая функция, которая необходима только для устранения неоднозначности между двумя dll, которые вносят одни и те же типы (например, две разные версии одной и той же сборки или две сборки, у которых есть класс, который имеет полное имя).
"global" является значением по умолчанию. Например, если у вас есть класс с именем Foo.System
, вы можете однозначно обратиться к основному пространству имен System
через global::System
.