.net - F# 类属性与显式字段

标签 .net f#

谁能帮我举例说明在 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

我只能看懂最后一节课。谢谢。

编辑:以下问题是前两个概念必需的示例:Order of fields in a type for FileHelpers

最佳答案

前两种形式的用途有限,如果您需要非常明确地说明类中字段的布局方式,它们很有用。例如,您可能将类型传递给非托管代码,该代码需要一定数量的字段,或者您可能将其传递给在字段上使用反射的 API。

关于.net - F# 类属性与显式字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6054309/

相关文章:

.net - 当我们使用 ajax 时到底发生了什么

c# - 设计时用户控件中的集合编辑器

f# - 如何使用 .Net Core 从 RSS 源获取项目?

xml - F# XML 数据解析 '' 子类型''

c# - 根据调度程序将 async-await C# 代码转换为 F#

.net - 带超时的 F# 异步工作流

c# - 在 F# 中实现 C# 接口(interface)并添加更新对象属性的方法(返回新实例)

c# - 加载 XAML 工作流时的引用

c# - 检测不受控制的点击

c# - 使用 .NET 4.0 任务并行库强制执行任务顺序