Expression.AddAssign 方法

定义

创建一个 BinaryExpression 表示没有溢出检查的加法分配操作。

重载

名称 说明
AddAssign(Expression, Expression)

创建一个 BinaryExpression 表示没有溢出检查的加法分配操作。

AddAssign(Expression, Expression, MethodInfo)

创建一个 BinaryExpression 表示没有溢出检查的加法分配操作。

AddAssign(Expression, Expression, MethodInfo, LambdaExpression)

创建一个 BinaryExpression 表示没有溢出检查的加法分配操作。

AddAssign(Expression, Expression)

创建一个 BinaryExpression 表示没有溢出检查的加法分配操作。

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

参数

left
Expression

要设置的属性Expression等于的一个Left

right
Expression

要设置的属性Expression等于的一个Right

返回

一个BinaryExpression属性NodeType等于AddAssignLeftRight属性设置为指定值。

示例

下面的代码示例演示如何创建向整数变量添加值的表达式,然后将操作结果分配给变量。

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

// The Parameter expression is used to create a variable.
ParameterExpression variableExpr = Expression.Variable(typeof(int), "sampleVar");

// The block expression enables you to execute several expressions sequentually.
// In this bloc, the variable is first initialized with 1.
// Then the AddAssign method adds 2 to the variable and assigns the result to the variable.
BlockExpression addAssignExpr = Expression.Block(
    new ParameterExpression[] { variableExpr },
    Expression.Assign(variableExpr, Expression.Constant(1)),
    Expression.AddAssign(
        variableExpr,
        Expression.Constant(2)
    )
);

// Print out the expression from the block expression.
Console.WriteLine("The expressions from the block expression:");
foreach (var expr in addAssignExpr.Expressions)
    Console.WriteLine(expr.ToString());

Console.WriteLine("The result of executing the expression tree:");
// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda<Func<int>>(addAssignExpr).Compile()());

// This code example produces the following output:
//
// The expressions from the block expression:
// (sampleVar = 1)
// (sampleVar += 2)

// The result of executing the expression tree:
// 3
' Add the following directive to your file:
' Imports System.Linq.Expressions 

' The parameter expression is used to create a variable.
Dim variableExpr As ParameterExpression = Expression.Variable(GetType(Integer), "sampleVar")

' The block expression enables you to execute several expressions sequentually.
' In this block, the variable is first initialized with 1. 
' Then the AddAssign method adds 2 to the variable and assigns the result to the variable.
Dim addAssignExpr As BlockExpression = Expression.Block(
    New ParameterExpression() {variableExpr},
    Expression.Assign(variableExpr, Expression.Constant(1)),
    Expression.AddAssign(
        variableExpr,
        Expression.Constant(2)
    )
)

' Print the expression from the block expression.
Console.WriteLine("The expressions from the block expression:")
For Each expr As Expression In addAssignExpr.Expressions
    Console.WriteLine(expr.ToString())
Next

Console.WriteLine("The result of executing the expression tree:")
' The following statement first creates an expression tree,
' then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda(Of Func(Of Integer))(addAssignExpr).Compile()())

' This code example produces the following output:
'
' The expressions from the block expression:
' (sampleVar = 1)
' (sampleVar += 2)

' The result of executing the expression tree:
' 3

适用于

AddAssign(Expression, Expression, MethodInfo)

创建一个 BinaryExpression 表示没有溢出检查的加法分配操作。

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

参数

left
Expression

要设置的属性Expression等于的一个Left

right
Expression

要设置的属性Expression等于的一个Right

method
MethodInfo

一个 MethodInfo 设置为 Method 等于的属性。

返回

一个属性等于和 <a0 /> 的属性,以及设置为指定值的属性。

适用于

AddAssign(Expression, Expression, MethodInfo, LambdaExpression)

创建一个 BinaryExpression 表示没有溢出检查的加法分配操作。

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

参数

left
Expression

要设置的属性Expression等于的一个Left

right
Expression

要设置的属性Expression等于的一个Right

method
MethodInfo

一个 MethodInfo 设置为 Method 等于的属性。

conversion
LambdaExpression

一个 LambdaExpression 设置为 Conversion 等于的属性。

返回

属性等于和 /> 的属性设置为指定值。

适用于