记录类型的默认值



假设我有一个记录类型:

type CountHolder = { Counter: int}
type NameCount = { Name: string; Count: CountHolder}

我正在寻找在反序列化以下 json 字符串之一(使用 JSON.NET)时为 Count 属性指定默认值的方法:

{"Name":"My Name","Count": null}
{"Name":"My Name"}

例如,我的默认值可以定义为

{ Counter :  0 }

如果我能在 JSON.NET 序列化管道中找到一个扩展点,允许我在运行时定义默认值,我猜这可以解决我的问题。

编辑

为了响应建议我修改记录类型以使Count字段可选的评论 - 我宁愿不这样做,因为我的类型被 C# 代码使用。 通过使此字段成为我的代码的可选使用者,将被迫承担对FSharp.Core的依赖。

你总是可以这样定义NameCount

type NameCount = { Name: string; Count: CountHolder option }

然后处理None.

相关内容

  • 没有找到相关文章

最新更新