天天看點

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 { }