【发布时间】:2014-03-25 12:24:25
【问题描述】:
在经历了很长时间的 F# 之后,最近学习了一点 C#,我开始意识到“对象构造函数”是一种很好的方法,可以让自己相信他们正在处理一个函数对象。
考虑:
let x = new Something()
x.Key <- 1
x.Value <- 2
这感觉很不干净,因为值的变化非常明显。尤其是如果我们让我们的对象只写一次,感觉非常没必要在C#中,可以这样初始化对象:
var x = new Something() { Key = 1, Value = 2 };
这看起来更好,实际上感觉就像我在使用唱片(几乎),显然它只是糖,但它的糖很好。
问。假设我们无法控制“某事”(假装它来自某个 C# 库),是否可以在 F# 中使用这种速记初始化,如果不能,为什么?
【问题讨论】:
-
绝对是一个重复,双重搜索失败! :(
标签: oop properties constructor f# initialization