Это для "внешних псевдонимов". Предположим, вы хотите использовать два разных типа, оба из которых называются Foo.Bar
(т.е. Bar
в пространстве имен Foo
). Эти два типа будут находиться в разных сборках (по определению) - вы используете свойство в VS, чтобы связать псевдоним с каждой ссылкой, тогда вы можете сделать:
extern alias FirstAlias;
extern alias SecondAlias;
using FirstBar = FirstAlias::Foo.Bar;
using SecondBar = SecondAlias::Foo.Bar;
, а затем используйте FirstBar
и SecondBar
в своем коде.
Так что, по сути, это дополнительный уровень именования - и вы не должны использовать его, если вам действительно не нужно. Это смущает многих людей. Старайтесь не попадать в эту ситуацию в первую очередь - но знайте об этом решении в тех случаях, когда вы просто не можете избежать его.