partial 分部类
partial 关键字让一个类的定义分散到多个文件里,编译时合并成一个类。WinForms 设计器生成的代码就是 partial,和你写的业务代码分开。
自己用 partial 主要是给大文件拆文件:一个类有 2000 行,按功能拆成 Customer.CRUD.cs、Customer.Query.cs、Customer.Validation.cs,每个文件几百行,好维护。
注意事项:1) partial 必须在同一个程序集里;2) 不能跨命名空间;3) 所有 partial 部分都要加 partial 关键字。
代码示例
// File1: Customer.Core.cs
public partial class Customer
{
public int Id { get; set; }
public string Name { get; set; } = "";
public void Save() => Console.WriteLine("保存");
}
// File2: Customer.Query.cs(另一个文件)
public partial class Customer
{
public List<Customer> Search(string keyword)
{
Console.WriteLine($"搜索 {keyword}");
return new();
}
}
// File3: Customer.Validation.cs
public partial class Customer
{
public bool Validate()
{
return !string.IsNullOrEmpty(Name);
}
}
// 编译后是同一个类
var c = new Customer { Name = "Tom" };
c.Save();
c.Search("Tom");
c.Validate();
学习小结:以上是我学习这个知识点时的笔记和心得。技术学习没有捷径,多写多练多踩坑,自然就掌握了。如果这篇笔记对你有帮助,欢迎继续看看其他文章。