日期:2014-05-16  浏览次数:20735 次

C# 分部类
partial:有时候一个类很大,为了分工明确,我们需要把它放在不同的文件中或者在不同的地方定义,这个时候就用到了分部类。示例:
public partial class Employee
{
    public void DoWork()
    {
    }
}


public partial class Employee
{
    public void GoToLunch()
    {
    }
}

<1>
partial 关键字指示可在命名空间中定义该类、结构或接口的其他部分。 所有部分都必须使用 partial 关键字。 在编译时,各个部分都必须可用来形成最终的类型。 各个部分必须具有相同的可访问性,如 public、private 等。
<2>
如果将任意部分声明为抽象的,则整个类型都被视为抽象的。 如果将任意部分声明为密封的,则整个类型都被视为密封的。 如果任意部分声明基类型,则整个类型都将继承该类。
<3>
指定基类的所有部分必须一致,但忽略基类的部分仍继承该基类型。 各个部分可以指定不同的基接口,最终类型将实现所有分部声明所列出的全部接口。 在某一分部定义中声明的任何类、结构或接口成员可供所有其他部分使用。 最终类型是所有部分在编译时的组合。
partial class Earth : Planet, IRotate { }
partial class Earth : IRevolve { }
//等同于下面:
class Earth : Planet, IRotate, IRevolve { }