gpt4 book ai didi

c# - 没有参数的 F# 类构造函数 --- 使用 f# 的 filehelpers 时出错

转载 作者:行者123 更新时间:2023-11-30 15:45:39 25 4
gpt4 key购买 nike

我点击了 parse CSV using F# and filehelpers 的链接.以下代码出现编译器错误 "The record class oneRow need a constructor with no args (public or private)"

[<DelimitedRecord(",")>]
type oneRow=
class
[<FieldConverter(ConverterKind.Date, "M/d/yyyy")>]
val date: DateTime
val value: bool
end
let engine = new FileHelperEngine(typeof<oneRow>)
let tmp = engine.ReadFile("test.csv")

编辑该解决方案看起来比 c# 版本更冗长。我需要添加 () , mutable[<DefaultValue>]

  type oneRow() =
class
[<FieldConverter(ConverterKind.Date, "M/d/yyyy")>]
[<DefaultValue>]
val mutable date: DateTime
[<DefaultValue>]
val mutable value: bool
end

但类似的代码在 C# 中工作,无需指定构造函数。谁能帮我修复 F# 代码?谢谢。

最佳答案

C# 将为您创建一个构造函数。 F# 没有(大概是因为无参数构造函数意味着可变性,因此不完全鼓励。)

例如,在您的代码中 - 您将如何设置这些属性,它们仍然是不可变的。

关于c# - 没有参数的 F# 类构造函数 --- 使用 f# 的 filehelpers 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4971196/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com