Kla*_*ark 3 .net f# dictionary type-providers
我有点难以掌握类型提供商.我希望得到一些关于类型提供者方法对以下用例的有用性的反馈.
很遗憾,我们的遥测API将对象返回为List<Dictionary<string, object>>.Dictionary具有键的字符串(意思是列名),值可以是任何对象(但是,通常这是System命名空间中的某种值类型).此外,还有一个方法可以返回Dictionary<string, Type>表示模式的集合(列名称 - >类型绑定).我们通常将此数据用于临时/探索性分析和报告.
带有R型提供者的F#似乎是上述分析的一个很好的武器.只是通过键入字符串作为字符串和转换对象来访问数据实际上就是阻碍了.我想创建一个类型提供程序,它将从给定的字典(创建字典的连接字符串)创建强类型.例如来自
new List<Dictionary<string, object>>
{
new Dictionary<string, object> { {"a", 1}, {"b","data"}, {"c", DateTime.UtcNow } },
new Dictionary<string, object> { {"a", 3}, {"b","data2"}, {"c", DateTime.UtcNow } }
}
Run Code Online (Sandbox Code Playgroud)
我想得到
type MyObject
member a : int
member b : string
member c : DateTime
List<MyObject> ...
Run Code Online (Sandbox Code Playgroud)
这是类型提供者的适当使用吗?正如我所说,我对这个领域很陌生,所以任何反馈都会受到赞赏.此外,如果您有任何类似问题的例子,我可以用来快速从地面开始请分享(Csv类型提供商似乎是一个很好的起点).
| 归档时间: |
|
| 查看次数: |
251 次 |
| 最近记录: |