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 更简单,仅包含一个字段。
➡️