F# FSharp提供了构造函数参数
我正在尝试使用在不同地方找到的示例实现一个typeprovider 我想要的是能够创建一个构造函数,将提供的参数分配给正确的属性。结果将执行与下面类型相同的操作F# FSharp提供了构造函数参数,f#,type-providers,F#,Type Providers,我正在尝试使用在不同地方找到的示例实现一个typeprovider 我想要的是能够创建一个构造函数,将提供的参数分配给正确的属性。结果将执行与下面类型相同的操作 type SomeType(arg1: int, arg2: string) = member this.Arg1 = arg1 member this.Arg2 = arg2 我尝试过不同的方法,但我就是无法通过args列表中的第一个参数 ProvidedConstructor( parameters =
type SomeType(arg1: int, arg2: string) =
member this.Arg1 = arg1
member this.Arg2 = arg2
我尝试过不同的方法,但我就是无法通过args列表中的第一个参数
ProvidedConstructor(
parameters = parameters,
InvokeCode = (fun args -> ??)
必须调用什么样的代码才能实现这一点。或者我必须采取另一种方法吗?您提供的类型(传递给
ProvidedTypeDefinition
baseType
参数的类型)的底层运行时表示形式是什么?ProvidedConstructor
InvokeCode
是一个函数,它接受表达式列表并返回基础类型的表达式。例如,如果运行时表示是一个2元素元组,InvokeCode
如下所示:
InvokeCode = (fun [arg1;arg2] -> <@@ (%%arg1:int), (%%arg2:string) @@>)
InvokeCode=(乐趣[arg1;arg2]->)
请务必阅读嗨,古斯塔沃,谢谢你的回复。我不清楚的是Expr返回的是底层类型。