Лекция: Namespace LevelTwo
{
//здесь описывается имя «NameTwo”
}
}
Код, находящийся в пространстве имен LevelOne, теперь может обращаться к Level Two. NameTwo просто как к NameTwo. Бывают случаи, как в примере с NameThree, когда такой подход может приводить к конфликту между именами, находящимися в различных пространствах имен (при этом код, скорее всего, компилироваться не будет). В подобных случаях мы можем задать для пространства имен подставное имя (alias)в операторе using:
Namespace LevelOne
{
using LT = LevelTwo;
// здесь описывается имя „NameThree“
Namespace LevelTwo
{
// здесь описывается имя „NameThree”
}
}
Тогда в пространстве имен LevelOne мы сможем обращаться к LevelOne.NameThree просто как к NameThree, а к LevelOne.LevelTwo.NameThree как к LT.NameThree.
Операторы using оказывают влияние на то пространство имен, в котором они находятся, а также на все вложенные пространства имен, которые могут содержаться в данном пространстве имен. В вышеприведенном коде в глобальном пространстве имен использовать LT.NameThree нельзя. Однако если оператор using расположить следующим образом:
using LT= LovelOne.Lovel Two
Namespase LovelOne
{
// здесь описывается имя “NameThree»