本节要讨论分部类、结构和接口。要注意的是,这个功能完全是由C#编译器提供的还有其他一些编译器也提供了这个功能,CLR对于分部类,结构和接口是yiwusuozhi 的。
partial这个关键字告诉C#编译器,一个类,结构或者接口的定义源代码可能要分散到一个或者多个源代码文件中。主要有三方面的原因促使我们将某个类型的源代码分散到多个文件中。
1,源代码控制 假定一个类型的定义由许多源代码构成,一个程序员把它从源代码控制系统中签出以进行修改。没有其他程序员能同时修改这个类型,除非以后执行一次合并。使用partial关键字,可以将类型的代码分散到多个源代码文件中,每个文件都可以单独签出,使多个程序员能同时编辑类型。
2,在同一个文件中,将一个类和结构分解成不同的逻辑单元 。有时候会创建一个类型来提供多个功能,使类型能提供一个完整的解决方案。为了简化实现,我有时会在一个源代码文件中反复声明同一个分部类型。然后,在分部类型的每一个部分,我都实现了一个功能,并配以它的全套字段、方法、属性、事件等。这样一来,就可以方便地看到组合起来提供了我所需要的一个功能的全体成员,从而简化了我的代码。与此同时,我可以方便地将分部类型的一部分注释掉。这样可以方便地类中删除一个完整的功能,代之以另一个实现(透过分部类型的一个新的部分)。
3,代码拆分
partial 关键字要应用于所有文件中的类型。这些文件编译到一起时,编译器会合并代码,在最后的.exe或.dll程序集文件中生成一个类型。