局部
关键字 partial
可以在类,结构或接口的类型定义期间使用,以允许将类型定义拆分为多个文件。这对于在自动生成的代码中合并新功能非常有用。
File1.cs
namespace A
{
public partial class Test
{
public string Var1 {get;set;}
}
}
File2.cs
namespace A
{
public partial class Test
{
public string Var2 {get;set;}
}
}
注意: 类可以拆分为任意数量的文件。但是,所有声明必须位于相同的命名空间和相同的程序集下。
也可以使用 partial
关键字声明方法的部分方法。在这种情况下,一个文件将只包含方法定义,另一个文件将包含实现。
部分方法将其签名定义在部分类型的一部分中,并且其实现在该类型的另一部分中定义。部分方法使类设计者能够提供类似于事件处理程序的方法钩子,开发人员可以决定是否实现。如果开发人员不提供实现,则编译器会在编译时删除签名。以下条件适用于部分方法:
- 部分类型的两个部分中的签名必须匹配。
- 该方法必须返回 void。
- 不允许访问修饰符。部分方法是隐式私有的。
- MSDN
File1.cs
namespace A
{
public partial class Test
{
public string Var1 {get;set;}
public partial Method1(string str);
}
}
File2.cs
namespace A
{
public partial class Test
{
public string Var2 {get;set;}
public partial Method1(string str)
{
Console.WriteLine(str);
}
}
}
注意: 包含 partial 方法的类型也必须声明为 partial。