我想在另一个表达式中使用一个表达式:
Expression<Func<double, double>> f = x => x * x * 27 + blah ... expression with x;
Expression<Func<double, double>> g = y => 3 + 8 * f.Compile()(y) * y * blah... expression with y and f(y);
由于 f.Compile() 对于 LINQ to SQL 是未知的,因此这种方法在发送到 LINQ to SQL 时无法使用。
如何在不编译 f
的情况下,使用正常语法来定义 g
并对变量 y
进行表达式求值?
我不想用一些难以理解的 Expression.Add
/Expression.Multiply
等语句来定义所有的 g
。
谢谢。
Invoke
和AsExpandable
时运行得非常完美。同意,这些文章非常有趣。 - SemMike