最近阅读 F# 和 C# 时,最大的区别之一是,F# 变体默认情况下是不可变的,大多数 C# 引用类型默认情况下是可变的。
这带来了一个问题,如何有效地将这种“默认不可变”引入到 C# 编码中?呃...我是说 C# 4.0..
我想到的是“不可变属性”。 因此,当 this 停靠到一个类时,Aspect 会检查该类的每个成员,以便它们仅在构造函数中可变。
你怎么看?
最佳答案
readonly
关键字是一种语言级别的结构,用于执行您请求的操作。当应用于成员变量时,它们只能在构造函数中设置,并且必须在构造函数中设置。
关于C#:如何高效地将 "Immutable by default"引入C#?不可变属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6868545/