来自MSDN page on F# Type Providers:
F#类型提供程序是一个提供类型,属性的组件, 和程序中使用的方法。
所以它就像一个.NET类库?有什么不同?和
手动编写这些类型非常耗时且难以实现 维护。
Type Provider是否自动编写?还有更多:
类似地,WSDL Web服务的类型提供程序将提供 您需要直接使用任何WSDL的类型,属性和方法 网络服务。
有一些实用程序可以从WSDL URL生成类型,同样类型提供程序在这里提供的优势是什么?
我的第一个想法是F#Type Providers在运行时提供类似.NET远程处理的类型,但似乎并非如此。使用它们有什么好处?
答案 0 :(得分:13)
在许多方面,代码生成是类型提供者的自然比较。但是,类型提供程序有几个代码生成缺乏的理想属性:
答案 1 :(得分:11)
您可以使用代码生成工具从WSDL或DB生成类型,就像集成到Visual Studio中的类型一样。类型提供程序基本相同,但直接在编译中集成该过程。这样,您就不必担心在架构更改时重新生成类型。
另外,类型提供程序支持使用已擦除类型执行此操作,这些类型是"虚拟"不存在的类型。这意味着不是生成500种类型和大型程序集,而是仅生成实际使用的内容,这意味着更小的程序集和对导入巨大和递归模式的支持,如Freebase