Expr<'a -> 'b>
我可以通过以下代码段将类型的引用转换为Linq 表达式:
/// Converts a F# Expression to a LINQ Lambda
let toLambda (exp:Expr) =
let linq = exp.ToLinqExpression() :?> MethodCallExpression
linq.Arguments.[0] :?> LambdaExpression
/// Converts a Lambda quotation into a Linq Lamba Expression with 1 parameter
let ToLinq (exp : Expr<'a -> 'b>) =
let lambda = toLambda exp
Expression.Lambda<Func<'a, 'b>>(lambda.Body, lambda.Parameters)
现在我想将类型的引用Expr<'a * 'b -> 'c>
甚至可能转换为类型Expr<'a -> 'b -> 'c>
的 Linq Lambda 表达式Expression<Func<'a,'b'c>>
。
我怎样才能做到这一点?
问候,叉子