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