请问有没有人能够给我提供一个F# TypeProvider生成类型的工作示例?最好是基于F#样本包“ProvidedTypes-*.fs”库。
我尝试了F# 3.0示例包中的“GeneratedTypeProvider”,但它对我无效。对于C#项目,我收到了“...'FSharpLib.T'不包含定义为'F1'的内容,也没有接受类型为'FSharpLib.T'的第一个参数的扩展方法'F1'可以找到(是否缺少使用指令或程序集引用?)”。我并不太关心C#项目(ConsoleApplication1),但当我将ConsoleApplication2更改为运行作为调用T.F1的控制台应用程序时,我收到了可怕的“类型FSharpLib.Program的pass3中的错误,错误:GetMethodRefAsMethodDefIdx中的错误mref = 'F1',错误:抛出了'Microsoft.FSharp.Compiler.AbstractIL.ILBinaryWriter+MethodDefNotFound'类型的异常。”老实说,源代码与http://apollo13cn.blogspot.com/2013/01/generated-type-provider-and-code.html不同步,这是值得怀疑的。
我也看了http://code.google.com/p/froto/source/browse/Gen/ProtoTypeProvider.fs。虽然我没有编译/运行过该项目,但它并未使用Sample Pack,这肯定是次优的选择。
不确定GitHub上的colinbull的“Playground”项目,因为它似乎只是从其他程序集中复制类型。
我尝试了F# 3.0示例包中的“GeneratedTypeProvider”,但它对我无效。对于C#项目,我收到了“...'FSharpLib.T'不包含定义为'F1'的内容,也没有接受类型为'FSharpLib.T'的第一个参数的扩展方法'F1'可以找到(是否缺少使用指令或程序集引用?)”。我并不太关心C#项目(ConsoleApplication1),但当我将ConsoleApplication2更改为运行作为调用T.F1的控制台应用程序时,我收到了可怕的“类型FSharpLib.Program的pass3中的错误,错误:GetMethodRefAsMethodDefIdx中的错误mref = 'F1',错误:抛出了'Microsoft.FSharp.Compiler.AbstractIL.ILBinaryWriter+MethodDefNotFound'类型的异常。”老实说,源代码与http://apollo13cn.blogspot.com/2013/01/generated-type-provider-and-code.html不同步,这是值得怀疑的。
我也看了http://code.google.com/p/froto/source/browse/Gen/ProtoTypeProvider.fs。虽然我没有编译/运行过该项目,但它并未使用Sample Pack,这肯定是次优的选择。
不确定GitHub上的colinbull的“Playground”项目,因为它似乎只是从其他程序集中复制类型。