编译时代码生成是指在编译过程中,由编译器或源生成器自动创建代码,而不是在程序运行时动态生成

优势:

  • 零运行时开销:生成的代码就是普通的 C# 代码
  • 完整 IDE 支持:智能感知、代码补全、调试支持
  • 编译时类型检查:错误在编译阶段就能发现
  • AOT 兼容:支持提前编译优化

典型应用:

  • Source Generators(如 RelayCommand
  • 代码模板展开
  • 序列化代码生成

现代 .NET 框架越来越多地采用编译时生成来提升性能和开发体验。

See also