- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
与一般成员一样,别名使用指令定义的别名在整个命名空 间或整个编译单元内都有效,该命名空间内其他成员都可 直接使用。例如: using R=NameSpace1; // 假设此前已定义 NameSpace1 ,并且有一个成员是类 A namespace NameSpace2 { class ClassB:R.A { } } namespace NameSpace3 { class ClassC:R.A { } } 当在一个编译单元中同时声明多个别名时,别名 的声明顺序没有关系,并且每个别名的声明不会 受到自身或别的别名的影响。例如: namespace NameSpace1.NameSpace2 { } namespace NameSpace3 { using r1=NameSpace1; using r2=NameSpace1.NameSpace2; using r3=r1.NameSpace2; } 第 7 章 面向对象和类 7.2.3 命名空间的使用 ( 2 )命名空间使用指令 命名空间使用指令可以将一个命名空间的类型整个导入到另一个编 译单元或命名空间中,并且对这些类型的使用不需要使用完整合法名称, 直接引用类型名称即可。命名空间使用指令的格式为: using 命名空间名; 命名空间名应该是由系统提供的或用户已定义的命名空间名。和别名不同的 是:在包含命名空间的编译单元或命名空间定义体内部,别名在成员声明时 需要引用别名的成员,而命名空间可以直接使用已定义的命名空间的类型, 不需要指出命名空间名。 例如对于大家比较熟悉的系统预定义的命名空间 System , 引用该命名空间后,可以直接使用其中的成员。 using System; class Test { static void Main() { Console.WriteLIne( “ Hello,World! ” ); } } 对于用户自己定义的命名空间,先定义用户自己的命名空 间后也可以直接使用,例如: namespace NameSpace1.NameSpace2 { class ClassA { // 命名空间 NameSpace1.NameSpace2 的类 ClassA 定义体 } } namespace NameSpace3 { using NameSpace1.NameSpace2; class ClassB:ClassA { } } 注意:命名空间使用指令只能导入命名空间本身,而不会 导入嵌套的命名空间,例如: namespace NameSpace1.NameSpace2 { class ClassA { // 命名空间 NameSpace1.NameSpace2 的类 ClassA 定义体 } } namespace NameSpace3 { using NameSpace1; class ClassB:NameSpace2.ClassA // 出错 { } } 如果在编译单元或命名空间中定义的成员名与命名空间名 相同,编译器将按成员名优先的原则。例如: namespace NameSpace1 { class ClassA { } class ClassB { } } namespace NameSpace2 { using NameSpace1; class ClassB { } } 命名空间 NameSpace2 中使用了命名空间使用 指令,但由于编译器在编译过程中,按在同 一编译单元或命名空间中成员优先的原则, 所以命名空间 NameSpace2 中的 ClassB 表示的 是 NameSpace2.ClassB ,而不是 NameSpace1.ClassB 。 NameSpace1.ClassB 是指命名空间 NameSpace1 中的那个类 ClassB 。 如果在编译单元或命名空间中有多个命名空间使用指令使用, 而这些命名空间中又包含了相同的类型名,用户定义和使用 时要注意,不要引起二义性。例如: namespace NameSpace1 { class ClassA { } } namespace NameSpace2 { class ClassA { } } namespace NameSpace3 { using NameSpace1; using NameSpace2; class ClassB:ClassA // 出错 { } } 为避免上述错误的发生,在使用过程中,应该在程序中直接 指明使用的是哪一个成员。例如: namespace NameSpace1 { class ClassA { } } namespace NameSpace2 { class ClassA { } } namespace NameSpace3
您可能关注的文档
最近下载
- 摩擦学基础知识-磨损.ppt VIP
- 景观规划设计(第3版)课件:滨水景观文化设计.pptx VIP
- 甘肃省兰州市城关区树人学校2022-2023学年八年级上学期期中物理试卷(含答案).docx VIP
- 2018-2019学年甘肃省兰州市树人中学八年级(上)期中物理试卷.docx VIP
- 2020-2021学年甘肃省兰州市城关区树人中学八年级(上)期中物理试卷(含解析).doc VIP
- 十五五规划(2026-2030年)是国家未来五年发展的战略性蓝图。以下关于十五.docx VIP
- 电工基础试卷a卷及答案.doc VIP
- 甘肃省兰州市第三十五中学2022-2023学年八年级上学期期中物理试卷(含答案).docx VIP
- 北京市通州区2024-2025学年七年级上学期期末生物学试题(含答案).pdf VIP
- 北京市通州区2024-2025学年七年级上学期期末考试英语试卷.docx VIP
原创力文档


文档评论(0)