Если вы объявляете пространство имен Foo.Bar.Baz
, каждое пространство имен в этой иерархии (Foo
, Foo.Bar
и Foo.Bar.Baz
) ищется при обращении к типу из этого объявления пространства имен:
namespace Foo.Bar.Baz
{
class Test
{
static void Main()
{
// This will search for Foo.Bar.Baz.SomeType,
// Foo.Bar.SomeType, Foo.SomeType, SomeType,
// in that order
SomeType.StaticMethod();
}
}
}
См. Раздел 3.8 спецификации языка C # 3.0 для подробностей.
Тем не менее, я надеюсь, что вы не всерьез рассматриваете возможность использования этого как способа избежать добавления директив использования. Создание собственных типов в иерархии пространства имен System - очень плохая идея.