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