我需要一些公共属性,在 C# 中我会这样做。
public VendorOrderService { get; set; }
F# 中此类属性的最短(正确/惯用)语法是什么?
member val VendorService = Unchecked.defaultof<VendorOrderService> with get, set
PS 我确实明白公共属性对于 F# 来说不是超级惯用的。但是这段代码在更大的 .NET 项目中工作,所以这些属性是强制性的。
首先在 C# 中你应该写类型,像这样
public string VendorOrderService { get; set; }
在 F# 3.0 中,您可以使用val 关键字(就像您一样):
type MyType() =
member val VendorOrderService = "" with get, set
或使用[CLIMutable]属性:
[<CLIMutable>]
type MyType = { VendorOrderService:string}
type Foo() =
member val Text : string = null with get, set