我正在尝试以下F#等效:
[C#]
public virtual int Property { get; set; }
Run Code Online (Sandbox Code Playgroud)
但是这段代码(以及许多其他组合)不起作用:
[F#]
abstract member Id: int with get, set
default val this.Id = 123 with get, set
Run Code Online (Sandbox Code Playgroud)
好吧,查看关于 F# 属性的MSDN 文档,抽象属性中的这一行立即跳出:
或者,抽象可以仅意味着属性是虚拟的,在这种情况下,定义必须存在于同一个类中。
他们给出的示例语法是:
type Base1() =
let mutable value = 10
abstract Property1 : int with get, set
default this.Property1 with get() = value and set(v : int) = value <- v
Run Code Online (Sandbox Code Playgroud)
现在我对 F# 不太熟悉,但我的猜测是你可以设置let mutable value = 10你的要求let mutable value = 123
| 归档时间: |
|
| 查看次数: |
687 次 |
| 最近记录: |