我使用XmlProvider提取一些XML数据,我将从C#访问它.由于您不能直接从C#使用类型提供的字段,我需要创建它们的记录.我可以手工完成这个,但我相信这应该可以自动使用反射.如果我创建记录类型具有相同的名称和类型,在类型提供商的领域,我应该能够使用像FSharpValue.MakeRecord(typeof<MyType>,values) 这里values是对象的数组.
我不知道的是如何从类型提供程序中获取值数组,以及如何处理嵌套记录,例如:
type Address =
{
Address1 : string
City : string
State : string
}
type Client =
{
Id : int
FullName : string
Address : Address
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下,客户端包含一个地址 我是否需要走树并在树叶上使用MakeRecord并继续工作?
如果您愿意手动编写类型代码,为什么首先需要类型提供程序?
如果你在F#端做一些额外的逻辑,你别无选择,只能手动创建记录.如果您没有做任何事情,您可以使用.NET开箱即用的序列化程序(或其他库)从xml创建它们.
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |