2011-05-19 69 views
2

任何人都可以幫助我在F#中需要顯式字段時的示例嗎?例如,以下三類如何將所有有用F#類屬性vs顯式字段

type MyClass = 
    val a : int 
    val b : int 
    new(a0, b0) = { a = a0; b = b0; } 

type MyClass() = 
    [<DefaultValue>] val mutable a: int 
    [<DefaultValue>] val mutable b: int 
    member this.Setab(a0: int, b0: int) = 
     a<- a0 
     b<- b0 

type MyClass(a0:int,b0:int) = 
    member x.a = a0 
    member x.b = b0 

比較我只能理解爲最後一堂課。謝謝。

編輯:以下問題就是一個例子,前兩個概念是必要的:Order of fields in a type for FileHelpers

回答

5

前兩種形式有一定的用途有限,如果你需要非常明確地瞭解他們的方式是有用的佈置一個班的領域。例如,您可能將類型傳遞給非託管代碼,這些代碼需要特定數量的字段或順序,或者您可以將它傳遞給使用字段反射的api。