我在 C# 项目中使用Refit来创建 API 客户端。我更喜欢用 F# 做所有事情,但Refit 还不完全支持 F#。
如果我在 C# 中创建我的User
模型,一切都很好,但我更希望能够表达哪些属性是可选的并适当地处理它们。
如果我添加FSharp.Core
并使用FSharpOption<string>
或类似方法,则尝试访问这些成员的断言会失败,NullReferenceException
但只有当 JSON 响应包含可选内容时才会失败。
如果我创建一个包含模型的单独 F# 项目,我在尝试反序列化时User
总是会得到一个。NullReferenceException
诚然,将任何模型保留为 C# 项目的一部分似乎更容易,但我不想牺牲知道哪些成员在 F# 方面是可选的。
解决此问题的最佳方法是什么?