10
表現。 明白な試みがバインドパラメータ
Expresion<Func<String, bool>> e2 = x => e1(x, "Fixed Value Here");
ようなものになるだろう。しかしそれは、Invokeノードに私の表現を回すでしょう。 2番目の式の署名を取得しながら、最初の式の中のパラメータを単純にバインドする方法はありますか?
class ExpressionSubstitute : ExpressionVisitor
{
public readonly Expression from, to;
public ExpressionSubstitute(Expression from, Expression to)
{
this.from = from;
this.to = to;
}
public override Expression Visit(Expression node)
{
if (node == from) return to;
return base.Visit(node);
}
}
これは一定でy
を代入し、式を再構築するExpressionVisitor
を使用すると
まさに私が望むもの。あなたが言ったように、Invokeは回避策でしたが、提供したラベル置換の代わりに固定呼び出しのようになっていました。ありがとう。 – Spooles