Because you can use Fully Qualified Class Names or just use ClassName and allow .NET to resolve it using the using directive. There is no middle place.
Class1 -
NameSpace1.NameSpace2.NameSpace3.Class1
can access
using NameSpace1.NameSpace2.NameSpace3; ... ... Class1.DoSomething(); ...
or
... NameSpace1.NameSpace2.NameSpace3.Class1.DoSomething(); ...
but don't like
using NameSpace1.NameSpace2; ... NameSpace3.Class1.DoSomething(); ...
In the latter case, what the compiler is really looking for is the root NameSpace3 namespace, which clearly does not exist. He will not try to search for System.NameSpace3 or NameSpace1.NameSpace3 or NameSpace1.NameSpace2.NameSpace3 etc. Etc.
YetAnotherUser
source share