C#里面对namespace理解(基础篇)

上传人:飞*** 文档编号:44044018 上传时间:2018-06-08 格式:DOCX 页数:3 大小:23.56KB
返回 下载 相关 举报
C#里面对namespace理解(基础篇)_第1页
第1页 / 共3页
C#里面对namespace理解(基础篇)_第2页
第2页 / 共3页
C#里面对namespace理解(基础篇)_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《C#里面对namespace理解(基础篇)》由会员分享,可在线阅读,更多相关《C#里面对namespace理解(基础篇)(3页珍藏版)》请在金锄头文库上搜索。

1、C#里面对里面对 namespace 理解理解(基础篇基础篇)收藏收藏.NET Framework 类库是一个由 Microsoft .NET Framework SDK 中包含的类,接口和值类 型组成的库.该库对系统功能的访问是建立在.NET Framework 应用程序,组件和控件的基础 上的.整个.NET Framework 类库就是由很多极大的命名空间组成,所以说命名空间就是 MS .NET 的核心一点也不为过,相信下面的很多命名空间初学者都有过接触:System 包含用于定义常用值和引用数据类型、事件和事件处理程序、接口、属性和处理异常的基 础类和基类。 其他类提供支持下列操作的服务

2、:数据类型转换,方法参数操作,数学计算,远程和本地 程序调用,应用程序环境管理以及对托管和非托管应用程序的监管。 System.Data 基本上由构成 ADO.NET 结构的类组成。ADO.NET 结构使您可以生成可用于有效管理来 自多个数据源的数据的组件。在断开连接的方案(如 Internet)中,ADO.NET 提供了一些 可以在多层系统中请求、更新和协调数据的工具。ADO.NET 结构也可以在客户端应用程 序(如 Windows 窗体)或 ASP.NET 创建的 HTML 页中实现。 System.web 提供支持浏览器/服务器通信的类和接口。此命名空间包括 HTTPRequest 类(

3、它提供有关 当前 HTTP 请求的大量信息),HTTPResponse 类(它管理 HTTP 到客户端的输出)和 HTTPServerUtility 对象(它提供对服务器端实用工具和进程的访问)。System.Web 还包 括用于 Cookie 操作、文件传输、异常信息和输出缓存控制的类。 System.Windows.Forms 包含用于创建基于 Windows 的应用程序的类,这些应用程序可以充分利用 Microsoft Windows 操作系统中的丰富用户界面功能。.NET 框架的每个命名空间还包含近 100 个类,并且很多命名空间还包含许多二级命名空 间。从运行库(SDK)的角度看,命

4、名空间只是类型名称的一个集合。特定语言所具有的构造 和相应的语法可帮助开发人员构成类型的逻辑组,但运行库在绑定类型时并不使用这些构 造。因此,Object 和 String 类都是 System 命名空间的一部分,但运行库只识别每个类型 的完整名称,它们分别为 System.Object 和 System.String。可以构建单个程序集,它使类型看上去像来自两个不同的分层命名空间,如 System.Collections 和 System.Windows.Forms;也可以构建两个程序集,均可导出名称中包 含 MyDll.MyClass 的类型;通俗点说 namespace 可以在不同的文件

5、(这里面指的是输出文 件,如.dll 或者.exe),同时,在同一个程序集里面也可以有多个 namespace。namespace 不相当于物理形式存在,与 Java 不同,Java 里面的 package 对应的是目录, 所以,你如果用到 java.io.*的话,你得建一个三层目录,比较麻烦;上面讲了这么多,大家可能有些疑问,这样用 namespace 做有什么好处?namespace 不是类,也不是对象,它只是类与及其它类型声明的一个包容体,为了让这 些类排列的更有顺序,更加利于别人寻找。尽最大程度排除重名。namespace 相当于指定 了一个寻址方式,告诉编译系统你可以在哪儿找到工程所

6、用的方法。 我们可以通过已经有的 NAMESPACE(微软把各种.net 预编写好的各种类按照其功能进 行分类的一些集合:如上面介绍的 System,System.Data),做我们想做的和愿意做的,当然 如果你感觉现有的还不够你的使用的话,你也可以自己来使用现有的来扩展,创建自己的 NAMESPACE!这样也有助于我们从逻辑上把一个系统分类,譬如把跟 Web 有关的东西 放一起(System.Web),把 Windows 有关的东西放一起(System.Windows.Forms) ,这样好处 就不言而喻了!下面举几个简单的 namespace 例子: 1.上一篇文章讲的 DLL 文件的生成

7、里面就有一个关于 namespace 的例子,看了我想对初学 者可以有不少帮助;2.namespace N1 public class A /N1.A namespace N2public class A /N2.A 类 A 定义于各自的命名空间 namespace;现在类 A 对整个程序来说不再是可见 Visible 的 了。而如若我们在程序中同时“开启“(或叫“曝光“expose)两个命名空间,那么 unqualified name A 将导致编译错误;此时我们必须使用“全饰名称“,如 N2.A a;另外,N1 和 N2 可以相同,编译器认为我们想在原先存在的命名空间中加入新声明 decl

8、are(这样的话,两个 class A 就不能重名了);顺便提一下:在 C#程序中,每提及一个“名称“,编译器就要对这个“名称“进行“决议(resolve) “,简言之,就要让这个“名称“可见(Visible)。如下例: Console.WriteLine(“Hello ,EdgarSun!“);此时编译器将无法对 Console 这一“名称“进行决议(resolve);这种情况和 C 中用 strcpy()函 数而没包含 string 这个头文件一样,C 中是这样解决的:#include 。C#中 using 指令 提供了一种解决方案:using System;这条指令告诉编译器到 System 这个“命名空间“中查找无法决议(resolve)的“名称“;另一种说法是明确告诉编译器到何处去寻找(look for)这个“名称“,那就是我们所说的“全 饰名称(full qualified name)“: System.Console.WriteLine(“Hello,EdgarSun!“)3.其它的例子就不多举了,书上有很多很好的例子,希望上面的一些总结能够给大家一些帮 助;

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号