是否可以在 F# 中声明抽象自动实现属性?
我正在尝试执行以下 F# 等效操作:
[C#]
public virtual int Property { get; set; }
但是此代码(以及许多其他组合)不起作用:
[F#]
abstract member Id: int with get, set
default val this.Id = 123 with get, set
I'm trying to do the following F# equivalent:
[C#]
public virtual int Property { get; set; }
But this code (and many other combinations) does not work:
[F#]
abstract member Id: int with get, set
default val this.Id = 123 with get, set
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 Dev11 预览版中这是不可能的。
It's not possible in the Dev11 preview.
好的,查看关于 F# 属性的 MSDN 文档,这一行位于抽象属性立即跳出:
他们给出的示例语法是:
现在我对 F# 不太熟悉,但我的猜测是您可以将
let mutable value = 10
设置为您的要求let mutable value = 123< /代码>
Ok, looking at the MSDN documentation on F# properties, this line in the abstract properties immediately jumps out:
The example syntax they give is:
Now I'm not overly familiar with F#, but my guess is that you could set
let mutable value = 10
to your requirement oflet mutable value = 123