[英]F# class property vs explicit fields
谁能帮我举例说明何时在F#中需要显式字段? 例如,以下三个类将如何有用?
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
我只能听最后一堂课。 谢谢。
编辑:下面的问题是一个示例,前两个概念是必需的: FileHelpers类型中的字段顺序
前两种形式的用途有限,如果您需要非常明确地说明类中字段的布局方式,则它们很有用。 例如,您可能将类型传递给非托管代码,该代码需要以某种顺序排列特定数量的字段,或者您可以将其传递给在字段上使用反射的api。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.