F#中读/写属性的最短声明

时间:2013-04-06 08:15:02

标签: f# c#-to-f#

我需要一些公共属性,在C#中我会这样做。

public VendorOrderService { get; set; }

F#中此类属性的最短(正确/惯用)语法是什么?

member val VendorService = Unchecked.defaultof<VendorOrderService> with get, set

P.S。我明白公共财产对于F#来说不是超级惯用语。但是这段代码适用于较大的.NET项目,所以这些属性是强制性的。

2 个答案:

答案 0 :(得分:5)

首先在C#中你应该写类型,就像这样

public string VendorOrderService { get; set; }

在F#3.0中,您可以使用val keyword(就像您一样):

type MyType() = 
    member val VendorOrderService = "" with get, set

或使用[CLIMutable]属性:

[<CLIMutable>]
type MyType = { VendorOrderService:string}

答案 1 :(得分:2)

type Foo() =
     member val Text : string = null with get, set