C#系列学习笔记8:程序集和命名空间

程序集和命名空间

程序集是代码的一个物理集合,通常扩展名是EXE或DLL的.NET可执行程序称为程序集,由一个或多个文件组成。
程序集主要由清单、类型元数据、CIL代码和资源组成。

  • 清单。主要包含了程序集标识符、组成程序集的文件列表、本程序引用的其他程序集列表和关于哪个类型被包含在哪个程序集的地图。包含:
  1. 标识(名称、版本、文化和公钥)。
  2. 属于该程序集的一个文件列表。
  3. 引用程序集的列表。
  4. 一组许可请求——运行这个程序集所需要的许可。
  5. 导出的类型。
  • 类型元数据。关于程序集中所有类型的元数据。
  • CIL。包含了程序集的所有中间代码。
  • 资源。可选,含图形或语言资源之类。

由多个模块组成的程序集中,一个文件是主模块,其他的为次要模块。

命名空间完全独立于程序集。在一个程序集中可以好几个命名空间,一个命名空间也可以分布在多个程序集中。
命名空间可以看做类名的一种扩展,属于类名范畴,同时有效减少了命名冲突。