有什么理由,为什么
new N1.N2.N3.C();
会编译,但是
using N1.N2;
...
new N3.C();
不会?
编辑
C类在另一个引用的程序集中定义,如下所示:
namespace N1.N2.N3
{
class C
{
}
}
最佳答案 因为名称空间需要在使用中或通过使用完全限定.对象的定义要么具有完全限定的命名空间,要么具有别名,要么没有 – 在这种情况下,完整命名空间必须具有使用权限.
N3不是一个完整的命名空间 – 它只是一个命名空间的一部分.