- ·上一篇内容:在C#中使用别名
- ·下一篇内容:C#中是否可以使用中文标识符
命名空间的一个错误使用
在编译单元或命名空间的成员声明中命名空间中,包含的类型可以被成员直接使用。例如:
namespace N1.N2
{
class A {}
}
namespace N3
{
using N1.N2;
class B: A {}
}
一个命名空间使用指示符导入了在给出的命名空间中包含的类型,但没有引入嵌套的命名空间。见下例:
namespace N1.N2
{
class A {}
}
namespace N3
{
using N1;
class B: N2.A {} // 错误, N2 未知
}
这里命名空间使用指示符导入了N1 中包含的类型,但没有导入N1 中的嵌套,所以在类B 的声明中引用N2.A 是错误的。
和别名使用指示符不同,命名空间使用指示符可以导入在编译单元或命名空间主体中预定义的类型。
在使用命名空间的时候,如果在编译单元或命名空间主体中定义的成员与命名空间使用指示符导入的成员名字相同,编译器将认作是前者。也就是说,编译单元或命名空间主体中定义的成员覆盖了命名空间使用指示符导入的同名成员。
本文源自:翔宇亭——IT乐园(http://www.biye5u.com),转载请保留此信息!
微信搜索“优雅的代码”关注本站的公众号,或直接使用微信扫描下面二维码关注本站公众号,以获取最新内容。
个人成长离不开各位的关注,你的关注就是我继续前行的动力。