如何在F#中设置getter和setter的不同属性?
这在C#中似乎很有效: 但在F#中,当我试图在属性getter和setter上设置属性时,我无法避免语法错误:如何在F#中设置getter和setter的不同属性?,f#,F#,这在C#中似乎很有效: 但在F#中,当我试图在属性getter和setter上设置属性时,我无法避免语法错误: type A() = inherit System.Attribute() type B = member this.X with [<A>] get () = 1 and [<A>] set (x : int) = () type A()=继承系统属性() B类= 请记住这一点 当[]get()=1时 和[]集
type A() = inherit System.Attribute()
type B =
member this.X
with [<A>] get () = 1
and [<A>] set (x : int) = ()
type A()=继承系统属性()
B类=
请记住这一点
当[]get()=1时
和[]集(x:int)=()
有办法吗
我的目标是在getter和setter上设置不同的属性。建议如下:
type A() = inherit System.Attribute()
type B =
[<A>]
member this.X with get () = 1
[<A>]
member this.X with set (x : int) = ()
type A()=继承系统属性()
B类=
[它似乎没有产生预期的IL。在我看来,它像一个bug
编辑:或一个错误在
编辑2:错误报告提交给fsbugs@microsoft.com为了记录在案,F#团队的答复是:
现在(以及即将到来的未来)
Beta2),属性目标属性
具体来说,getter和setter是
不支持
谢谢!事实上,我似乎无法通过反射检索setter属性。我正在联系fsbugs@...This尽管有文档,但仍然不起作用,而@t0yv0的初始尝试现在起作用了。这看起来像预期的那样起作用,尽管我不确定它是何时修复的。
type A() = inherit System.Attribute()
type B =
[<A>]
member this.X with get () = 1
[<A>]
member this.X with set (x : int) = ()