Part 61 to 63 Talking about partial class and partial method in C#
部分类和部分方法
部分类是用partial声明的类,它允许我们把一个类分割成两个或多个类,当应用程序编译的完成的时候,多个部分类会结合成一个类,同时partial关键字也可以用于声明结构和接口。
那么下面问题来了,为什么要有部分类呢?
既然微软创造了这么一个东西,肯定有它存在的意义的
存在意义之一:
如果大家留意的话,会发现我们创建的webform程序或者windowform程序时,默认情况下会自动生成两个文件:webfrom1.aspx.cs和webform1.aspx.designer.cs,然后你会发现这两个类都用了关键字partial去声明了,没错,这就是部分类应用的所在,我认为它是为了code-behind技术而生的,因为声明了部分类,系统自动生成的代码和我们自己打的代码得以分离,已于代码的阅读和理解,提高开发效率。
存在意义之二:
处理大型项目时,把一个复杂的类可以分成多个部分类给多个程序员同时进行开发。不过,微软声明这是一个好处,除了上面说的例子之外,我没在其他地方见过的使用部分类,使用分部类的就让让多个部分类一起工作而已。。。
下面就是部分类在使用的时候注意的几点
一:如果声明了一个部分类,另一个类和部分类的类名相同的话编译是不通过的,必须两个都是部分类才能编译通过
二:多个部分类的访问修饰符要一致。
三:如果一个部分类为抽象或者密封类,那么所有的部分类都要声明为抽象或者密封类
四:如果部分类为派生类,那么其基类要相同
部分方法
在部分类和部分结构中可以声明partial的方法
当在一个部分类写一个部分方法时,可以只声明方法签名,然后在另一个部分类中写一个签名相同带有方法体的方法去实现它,也可以同时声明方法和方法体,但不可以再在另一个部分类中再次声明该方法。在一个部分类中不可以同时声明部分方法并且带有方法体。
部分方法的默认修饰符是private,所以不可以再用private去修饰它,而且部分方法的不可以有返回值,也就是说只能是void。