使用只读属性之间有区别吗:
type T(arg) =
member x.M = arg
Run Code Online (Sandbox Code Playgroud)
并使用自动实现的属性:
type T(arg) =
member val M = arg
Run Code Online (Sandbox Code Playgroud)
假设arg
没有副作用?有理由偏爱一个吗?
byt*_*ter 10
它们之间的本质区别在于member val
表示在实例初始化期间仅计算一次的表达式.因此,
type Person(fname, lname) =
member val Name = fname + lname // would be calculated once
Run Code Online (Sandbox Code Playgroud)
因此,首先考虑的是性能.
另一个考虑因素是基于自动属性的两个限制:
virtual
归档时间: |
|
查看次数: |
754 次 |
最近记录: |