有没有什么原因,为什么
new N1.N2.N3.C();
代码可以编译,但是
using N1.N2;
...
new N3.C();
你不会吧?
编辑
类C是在另一个已引用的程序集中这样定义的:
namespace N1.N2.N3
{
class C
{
}
}
有没有什么原因,为什么
new N1.N2.N3.C();
代码可以编译,但是
using N1.N2;
...
new N3.C();
你不会吧?
编辑
类C是在另一个已引用的程序集中这样定义的:
namespace N1.N2.N3
{
class C
{
}
}
由于命名空间需要在使用时进行完全限定或通过using导入。对象的定义可以是完全限定的命名空间、别名或者没有任何命名空间,此时必须使用using导入完整的命名空间。
N3
并不是完整的命名空间,只是其中的一部分。
因为您没有包含N3命名空间,所以找不到C。
using System
就可以包含整个 .net 框架! - TJHeuvelusing N1
时 N3.C()
无法编译,但是当指定 using N1.N2
时可以编译。这只是一个一级引用。你不能像你所说的那样将其与 "using System
包含整个 .net 框架" 进行比较。 - Otiel