原文:http://blog.csdn.net/chenliao002/article/details/7277523
partial关键字允许把类、结构或接口放在多个文件中。一般情况下,一个类存储在单个文件中。但有时,多个开发人员需要访问同一个类,或者某种类型的代码生成器生成了一个类的某部分,所以把类放在多个文件中是有益的。
partial关键字的用法是:把partial放在类、结构或接口的前面。在下面的例子中,TheBigClass类位于两个不同的源文件BigClassPart1.cs和BigClassPart2.cs中:
//BigClassPart1.cs
partial class TheBigClass
{
public void MethodOne()
{
}
}
//BigClassPart2.cs
partial class TheBigClass
{
public void MethodTwo()
{
}
}
编译包含这两个源文件的项目时,会创建一个TheBigClass类,它有两个方法MethodOne() 和MethodTwo()。
如果声明类时使用了下面的关键字,这些关键字将应用于同一个类的所有部分:
● public
● private
● protected
● internal
● abstract
● sealed
● 基类
● new
● 一般约束
在嵌套的类型中,只要partial关键字位于class关键字的前面,就可以嵌套部分类。在把部分类编译到类型中时,会合并属性、XML注释、接口、一般类型的参数属性和成员。有如下两个源文件:
//BigClassPart1.cs
[CustomAttribute]
partial class TheBigClass : TheBigBaseClass, IBigClass
{
public void MethodOne()
{
}
}
//BigClassPart2.cs
[AnotherAttribute]
partial class TheBigClass : IOtherBigClass
{
public void MethodTwo()
{
}
}
编译后,源文件变成:
[CustomAttribute]
[AnotherAttribute]
partial class TheBigClass : TheBigBaseClass, IBigClass, IOtherBigClass
{
public void MethodOne()
{
}
public void MethodTwo()
{
}
}