partial,有人将其翻译为“部分(类型)”,但在 MSDN 上,译为“分部(类型)”,所以我们还是使用“分部(类型)”这一说法。
分部类
一般来说,一个类、结构或接口位于一个源文件中,但某些情况,比如大型项目、特殊部署时,可能需要把一个类、结构或接口放在几个文件中来处理。等到编译时,自动把它们合起来,这就得应用 C# 分部类了。
C# 分部类的关键字修饰符是 partial。
public partial class Employee
{
public void DoWork()
{
}
}
public partial class Employee
{
public void GoToLunch()
{
}
}
上述 Employee 编译后拥有两个方法:DoWork() 和 GoToLunch()。
分部类的各部分都必须指定修饰符 partial。
同一分部类的各部分必须有相同的可访问性,如 public、private 等。
partial 必须紧靠 class、struct 或 interface 之前。
同一分部类的各部分必须在同一程序集或同一模块中(.exe 或 .dll 文件)。
分部方法
分部方法是将方法定义和方法实现分隔开,感觉用处不大,特别是分部方法只能是 private 类型。
public partial class Employee
{
partial void DoWork();
}
public partial class Employee
{
partial void DoWork()
{
}
}
分部方法使用 partial 关键词;
分部方法隐式为 private 类型,不可使用 public 访问修饰符;
分部方法不可有返回值。