myNumberに5を掛けるデリゲートを生成するこのコードがあります
ParameterExpression numParam = Expression.Parameter(typeof(int), "num");
ConstantExpression five = Expression.Constant(5, typeof(int));
BinaryExpression numMultiply = Expression.Multiply(numParam,five);
デリゲートを作成しましょう:
Expression<Func<int, int>> lambda1 =
Expression.Lambda<Func<int, int>>(
numMultiply,
new ParameterExpression[] { numParam });
Console.Write(lambda1.Compile()(4));
Add
ここで、この式ツリーをここではなくに変更したいとしますMultiply
。新しい行です。
BinaryExpression numAdd = Expression.Add(numParam,five);
しかし、ラムダ1を変更して、numAdd
代わりに使用するようにするにはどうすればよいmultiply
ですか?