Expression.Add 方法

定义

创建一个表示不进行溢出检查的算术加法运算的 BinaryExpression

重载

Add(Expression, Expression)

创建一个表示不进行溢出检查的算术加法运算的 BinaryExpression

Add(Expression, Expression, MethodInfo)

创建一个表示不进行溢出检查的算术加法运算的 BinaryExpression。 可指定实现方法。

Add(Expression, Expression)

创建一个表示不进行溢出检查的算术加法运算的 BinaryExpression

public:
 static System::Linq::Expressions::BinaryExpression ^ Add(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression Add (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member Add : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function Add (left As Expression, right As Expression) As BinaryExpression

参数

left
Expression

要将 Expression 属性设置为与其相等的 Left

right
Expression

要将 Expression 属性设置为与其相等的 Right

返回

一个 BinaryExpression,其 NodeType 属性等于 Add,并且其 LeftRight 属性设置为指定值。

例外

leftrightnull

没有为 left.Type 和 right.Type 定义加法运算符。

示例

下面的代码示例演示如何创建添加两个整数的表达式。

// Add the following directive to your file:
// using System.Linq.Expressions;

// This expression adds the values of its two arguments.
// Both arguments must be of the same type.
Expression sumExpr = Expression.Add(
    Expression.Constant(1),
    Expression.Constant(2)
);

// Print out the expression.
Console.WriteLine(sumExpr.ToString());

// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda<Func<int>>(sumExpr).Compile()());

// This code example produces the following output:
//
// (1 + 2)
// 3
' Add the following directive to your file:
' Imports System.Linq.Expressions  

' This expression adds the values of its two arguments.
' Both arguments must be of the same type.
Dim sumExpr As Expression = Expression.Add(
    Expression.Constant(1),
    Expression.Constant(2)
    )

' Print the expression.
Console.WriteLine(sumExpr.ToString())

' The following statement first creates an expression tree,
' then compiles it, and then executes it.            
Console.WriteLine(Expression.Lambda(Of Func(Of Integer))(sumExpr).Compile()())

' This code example produces the following output:
'
' (1 + 2)
' 3

注解

有关此 API 的详细信息,请参阅 Expression.Add 的补充 API 说明

适用于

Add(Expression, Expression, MethodInfo)

创建一个表示不进行溢出检查的算术加法运算的 BinaryExpression。 可指定实现方法。

public:
 static System::Linq::Expressions::BinaryExpression ^ Add(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression Add (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression Add (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo? method);
static member Add : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function Add (left As Expression, right As Expression, method As MethodInfo) As BinaryExpression

参数

left
Expression

要将 Expression 属性设置为与其相等的 Left

right
Expression

要将 Expression 属性设置为与其相等的 Right

method
MethodInfo

要将 MethodInfo 属性设置为与其相等的 Method

返回

一个 BinaryExpression,其 NodeType 属性等于 Add,并且其 LeftRightMethod 属性设置为指定值。

例外

leftrightnull

method 不是 null,它所表示的方法返回 void,而不是 static(Visual Basic 中为 Shared),或者并非采用两个参数。

methodnull,且没有为 left.Type 和 right.Type 定义加法运算符。

注解

有关此 API 的详细信息,请参阅 Expression.Add 的补充 API 说明

适用于