Parital Classes (分部类) 1. C#2.0 可以将类、结构或者接口的定义拆分到两个或多个源文件中,在类声明前添加 partial 关键字。 public partial class _Default:System.Web.UI.Page ... { protected void Dotest1() ... { } } public partial class _Defau
Parital Classes(分部类)
1. C#2.0可以将类、结构或者接口的定义拆分到两个或多个源文件中,在类声明前添加partial关键字。
public partial class _Default : System.Web.UI.Page
...{
protected void Dotest1()
...{
}
}
public partial class _Default : System.Web.UI.Page
...{
protected void Dotest2()
...{
}
}
2. 什么情况下使用分部类?
-处理大型项目时,使一个类分布于多个独立文件中可以让多位程序员同时对该类进行处理
-使用自动生产的源时,无需重新创建源文件便可将代码添加到类中。Visual Studio在创建Windows窗体、Web窗体时都使用此方法。您无需编译Visual Studio所创建的文件,便可创建使用这些类的代码。
3. 所有部分都必须使用partial关键字
4. 使用partial关键字表明可在命名空间内定义该类、结构或者接口的其他部分
5. 各个部分必须具有相同的可访问性,如public、private等。
6. 如果将任意部分(partial)声明为抽象的,则整个类型都被视为抽象的。
7. 如果将任意部分(partial)声明为密封的,则整个类型都被视为密封的
8. 如果将任意部分(partial)声明为基类型,则整个类型都将继承该类。
9. 指定基类的所有部分(partial)必须一致,但没有显式继承的部分(partial)仍继承该基类型。
10. 各个部分(partial)可以指定不同的基接口,最终类型将实现所有部分(partial)声明所列出的全部接口。
11. 在某一个部分(partial)定义中声明的任何类、结构或者接口成员可供所有其他部分(partial)使用。
使用注意:
1. 要作为同一个类型的各个部分(partial)的所有分部类型定义都必须使用partial关键字进行修饰。
2. partial修饰符只能出现在紧靠关键字class、struct或interface前面的位置
3. 要成为同一类型的各个部分的所有分部类型定义都必须在同一个程序集和同一模块(.exe或者.dll)中进行定义。分部定义不能跨越多个模块。
4. 类名和泛型类型参数在所有的分部类型定义中都必须匹配。泛型类型可以是分部的。每个分部声明都必须以相同的顺讯使用相同的参数名。