我没有找到明确答案......
这个C#代码的F#等价物是什么:
public class SomeClass
{
public virtual SomeMethod([Attribute] Int32 param)
{ }
}
因为将属性放在F#中有两个不同的位置:
type SomeClass () =
abstract SomeMethod : [<Attribute>] param:Int32 -> Unit
default this.SomeMethod ([<Attribute>] param) = ()
答案 0 :(得分:3)
您可以将它放在两者上,但覆盖(default
)是重要的。
type T =
abstract M : (* [<Out>] this is okay too *) i: byref<int> -> unit
default this.M([<Out>] i) = () //but this one's necessary