C#将主构造函数参数设置为只读
💡
原文中文,约1000字,阅读约需3分钟。
📝
内容提要
C# 12 引入了主构造函数的新功能,允许在类声明中定义构造函数。这对于定义不可变类型很有用。编译器不强制参数的不变性,但可以使用只读字段或Roslyn分析器解决此问题。
🎯
关键要点
-
C# 12 引入了主构造函数功能,允许在类声明中直接定义构造函数。
-
主构造函数功能对于定义不可变类型非常有用。
-
编译器不强制参数的不变性,允许参数被修改。
-
可以通过创建只读字段来确保参数值不被修改,但这会增加样板代码。
-
另一种解决方案是使用 Roslyn 分析器来报告参数的赋值情况,Meziantou.Analyzer 提供了相关诊断程序。
➡️