到底什么是程序集?和命名空间到底是什么关系?

到底什么是程序集?和命名空间到底是什么关系?,第1张

命名空间:

就像你硬盘里的文件夹, 不型雹同的文件夹下存放不同的文件(类),这样就可以避免文件全部堆在一个地方引起混乱(同理, 这样你就可以为不同的模块建立命名空间,这样就可以使类和容易管理), 并且可以避免多个同名文件无稿租滚法放在一个文件夹下。

程序集:

.NET编写的DLL和EXE就是程序集。 程序集包括:

1、程序集清单,包含程序集元数键余据。

2、类型元数据。

3、实现这些类型的 Microsoft 中间语言 (MSIL) 代码。

4、资源集。

所以这两个概念其实是不同的东西,没有什么联系。

只是一般建立类库项目(DLL)的时候会用默认的命名空间来命名程序集文件,这样很容易使人把这两个东西联系起来。

我来给你讲讲吧:

什么是程序集?

程序集是一个 DLL,你想使用其中的类,就必须要将该DLL文件添加到你的项目中。一个程序集包括一个或多个命名空间。举例来说,命名空间 System.Data 来自文件System.Data.DLL,命名空间渗者System.Data.SqlClient 同样来自 System.Data.DLL,所以,这意味着你一旦添加了 System.Data 程序集文件的引用(无论你是从 GAC添加还是直接添加的 DLL 到项目),你就可以使用 System.Data 和System.Data.SqlClient 下的各种类。

那为什丛仿薯么要 using呢?简单地说,你甚至可以不用写一个using,凡是需要用到类型的地方用完全限定名。

什么是完全限定名?比如数据集类 DataSet:System.Data.DataSet 就是它的完全限定名。比如数据库连接类 SqlConnection:System.Data.SqlClient.SqlConnection 就是它的完全限定名。用了 using 的好处在于:你不必处处写完全限定名,这样会使代码看起来过于冗长。说到这里,using 的作用明白了吗?其实就是起到了简大圆写的作用。真正的引用工作是一开始做的,using 只是为了使你的后续编码工作简单而易。

命名空间是类型的一种逻辑命名方案,其中简单类型名称(如 MyType)前面带有用点分隔的层次结构名称。这样的命名方案完全在开发人员的控制之下。例如,键入 MyCompany.FileAccess.A 和 MyCompany.FileAccess.B 在逻辑上将会具有与文件访问相关的功能。.NET 框架使用一种层次结构命名方案,用于将类型按相关功能的逻辑类别进行分组,例如,ASP.NET 应用程序框架或远程处理功能。设计工具可以利用名称空间使开发人员更容易在代码中浏览和引用类型。名称空间的概念与程序集的概念之间没有任何联系。一个程序集可以包含其层次结构名称具有不同名称空间根的类型,而一个逻辑名称空间根可以跨越多个程序集。在答绝 .NET 框架中,名称空间是清皮姿在设计时进行逻辑命名的便捷握亏方式,而程序集在运行时为类型建立名称作用域。MSDN上一个网友给的解释. http://topic.csdn.net/t/20031101/11/2416910.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12510206.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存