讨论程序集、名称空间、类3者间的关系
程序集:可以理解为你看到的exe文件和dll文件,每个独立的文件都是一个程序集。
名称空间:为了解决类太多的时候导致的命名冲突问题,我们会把一些类放到同一个名称下面,这个名称就叫名称空间。
类必须在某单个名称空间里面.
尽管.net2.0引入了局部类(partial),因为csc编译时程序集不带partial类相关的信息,类还是必须属于单一程序集,且单一名称空间。
也就是说:partial是语法层面的,不是CLR的一部分!
类可以通过名称空间整理存储,引入partial关键字的.net2.0解决了类必须在一个cs文件内实现的诟病.
1. 一个程序集可以包含多个名称空间,简单的实现就是在一个cs文件里面包含多个namespace定义,如下代码
2.一个名称空间也可以包含在多个程序集内,简单的实现就是在多个cs文件内部,有相同的namespace定义,如下代码
3.类,必须在某单个名称空间里面。net1.1类必须在一个文件内实现,故必然在1个程序集内实现,必然在1个名称空间内实现。
尽管.net2.0引入了局部类(partial),使得1个类可在多个cs文件内实现,但因为程序集不含有局部类的元数据信息,一样必须将多个cs编译为1个程序集。
费了一个上午的时间,看来做一个书籍作者真的很不容易呀!