C# 12 中的 Primary Constructor

💡 原文中文,约2400字,阅读约需6分钟。
📝

内容提要

在C# 12中,Primary Constructor是一个实用的特性,可以简化构造函数依赖注入。非record类型和record类型的Primary Constructor有区别,record类型会生成属性和其他自定义功能。

🎯

关键要点

  • C# 12 中的 Primary Constructor 是一个实用特性,简化构造函数依赖注入。
  • Primary Constructor 可以用于 class 和 struct,直接在类型中引用。
  • 使用 Primary Constructor 可以简化构造函数依赖注入,无需手动声明字段。
  • 反编译结果显示,Primary Constructor 实际上生成了一个私有字段,并在构造方法中赋值。
  • 字段不是 readonly 的,允许修改,提供更大的灵活性。
  • 非 record 类型和 record 类型的 Primary Constructor 有显著区别,record 类型生成属性而非字段。
  • record 类型的 Primary Constructor 还会生成 deconstructor 和自定义的相等性比较。
  • 非 record 类型的 Primary Constructor 更简单,仅包含一个字段。
➡️

继续阅读