C#的命名空间和程序集的有什么区别

2024-11-27 17:44:51
推荐回答(2个)
回答(1):

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

回答(2):

程序集和命名空间实际上没有什么关系。程序集是.NET中相关类型的物理搏槐组织形式,有点类似于Windows的可执掘李行文件或者动态链接库文件。命名空间仅仅只是为了解决类名称的冲突问题而提供的给类“分类”的系统。一个程序集可以包含多个命名空间,而一个命名空间也可以跨多个程序基散友集。