c# – 与嵌套命名空间一起使用

有什么理由,为什么

new N1.N2.N3.C();

会编译,但是

using N1.N2;
...
new N3.C();

不会?

编辑

C类在另一个引用的程序集中定义,如下所示:

namespace N1.N2.N3
{
   class C
   {
   }
}

最佳答案 因为名称空间需要在使用中或通过使用完全限定.对象的定义要么具有完全限定的命名空间,要么具有别名,要么没有 – 在这种情况下,完整命名空间必须具有使用权限.

N3不是一个完整的命名空间 – 它只是一个命名空间的一部分.

点赞