2024-06-03 · C# 基础 · 学习笔记

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();
学习小结:以上是我学习这个知识点时的笔记和心得。技术学习没有捷径,多写多练多踩坑,自然就掌握了。如果这篇笔记对你有帮助,欢迎继续看看其他文章。