public static Add ( |
||
left | An |
|
right | An |
|
method | A |
|
return |
public static BinaryExpression Add(Expression left, Expression right, MethodInfo method)
{
RequiresCanRead(left, nameof(left));
RequiresCanRead(right, nameof(right));
if (method == null)
{
if (left.Type == right.Type && left.Type.IsArithmetic())
{
return new SimpleBinaryExpression(ExpressionType.Add, left, right, left.Type);
}
return GetUserDefinedBinaryOperatorOrThrow(ExpressionType.Add, "op_Addition", left, right, liftToNull: true);
}
return GetMethodBasedBinaryOperator(ExpressionType.Add, left, right, method, liftToNull: true);
}
Expression::Add ( |
public void Binary() { var param = LinqExpression.Parameter(typeof(int)); var expression = LinqExpression.Add(param, param); ShouldRoundrip(expression); }