第十二讲命名空间.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第十二讲命名空间

命名空间(namespace) 在之前的学习中提到过命名空间(namespace),而且在所有的示例中都使用了System这个命名空间。System命名空间包含有大量的系统方法和类,.NET框架就是使用命名空间来组织和交流程序代码的。 学习重点: 理解命名空间的含义和C#应用程序的组织结构 掌握命名空间的定义和有效使用范围 掌握using语句的使用方法 12.1 命名空间 命名空间是用来限定名称的解析和使用范围的。比如,当我们处于家庭环境下,可以直呼小名;在工作单位就必须称呼全名;如到外地出差,还必须说明本人是某地某单位的某人。这其中,家庭、单位和外地就是不同的命名空间,也就是说,同一个人在不同的环境或场合(命名空间)下对他的称呼是不同的。 C#使用命名空间来管理和组织代码(管理各种类)。 12.2 定义命名空间 使用namespace关键字定义一个命名空间,格式为: namespace 命名空间名 { …….//命名空间的成员(其他命名空间或者类的定义 } 其中: “命名空间名”是C#合法的标识符。也可以是用点运算符来构成命名空间的完全限定名。 在默认的情况下,命名空间具有public访问属性。不允许在定义命名空间时使用任何访问修饰符。 “命名空间的成员”可以是另一个命名空间或类型(类、结构、接口、枚举和代理)的定义。如果类型是命名空间的成员,则该类型只能具有public或internal访问修饰符,其中internal是默认的访问权限。 例:定义一个计数器命名空间 namespace Counter { class DownCount { int v; public DownCount(int n) { v = n; } public void reset(int n) { v = n; } public int count() { if (v 0) return v--; else return 0; } } } 说明:C#语言中,如果程序不定义命名空间,系统也将使用缺省的命名空间 System.Globalization( 全局命名空间)。如果使用VS模板创建C#应用程序,会自动为我们定义一个与项目名字相同的命名空间,并把类组合在这个命名空间中。 12.3 使用命名空间 12.3.1 命名空间的完全限定名 我们通常使用命名空间的完全限定名来表示层次的命名空间。例如: namespace N1 { namespace N2 { class A { } class B { } } }上述语句等价于 namespace N1.N2 { class A { } class B { } } 也等价于 namespace N1.N2 { class A { } } namespace N1.N2 { class B { } } 在相同的命名空间不能存在名字相同的类型或命名空间;如果类型或命名空间位于不同的命名空间中,它们可以具有相同的名字。 namespace N1.N2 { class A { } class B { } } namespace N1.N3 { class A { } class B { } } 以下代码中有嵌套的类和命名空间,可以用命名空间和类的完全限定名来表示程序的嵌套关系。 namespace N1 //N1 { class C1 //N1.C1 { class C2 //N1.C1.C2 { } } namespace N2 //N1.N2 { class C2 //N1.N2.C2 { } } } 命名空间N1是全局命名空间的一个成员,它的完全限定名就是N1。命名空间 N2 是N1的成员,它的完全限定名就是N1.N2。类C1是 N1 的一个成员,它的完全限定名就是N1.C1。 12.3.2 C#应用程序的组织结构 C#程序由一个或多个文件组成,每个文件可以包含一个或多个命名空间,而每个命名空间又可以包含各种数据类型,如类、结构、接口、枚举和代理,甚至包含其他命名空间。 C#程序的基本框架如下: using System; //引入命名空间 namespace MyNamespace1 //自定义命名空间 { class MyClass1 { } //定义类 st

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档