Пространство имен | Namespace
с помощью using можно создать псевдоним - это короткое название класса, который имеет многоуровневую вложенность, но пространство имен которого вы не подключили в проекте.
пример
namespace NamespaceA
{
namespace NamespaceB
{
namespace NamespaceC
{
public MyClassA
{
}
}
}
}
using MyOwnName = NamespaceA.NamespaceB.NamespaceC.MyClass;
пространство имен по умолчанию partial
. Поэтому разрешается расширить пространство имен даже так (расширение пространства имен C, с учетом его вложенности):
namespace NamespaceA
{
namespace NamespaceB
{
namespace NamespaceC
{
public MyClassA
{
}
}
}
}
namespace NamespaceA.NamespaceB.NamespaceC
{
MyClassB
{
}
}
Рефлексивная самоассоциация - при инстанциировании экземпляра в конструкторе, рекурсивный его вызов.
Также при существовании двух пространств имен с одинаковым именем и одноименными вложенными в них классами есть возможность присвоить им alias'ы, но я отложил этот вопрос на будущее.