Share via


Expression.AddAssign 方法

定义

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

重载

AddAssign(Expression, Expression)

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

AddAssign(Expression, Expression, MethodInfo)

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

AddAssign(Expression, Expression, MethodInfo, LambdaExpression)

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

AddAssign(Expression, Expression)

Source:
BinaryExpression.cs
Source:
BinaryExpression.cs
Source:
BinaryExpression.cs

创建一个表示不进行溢出检查的加法赋值运算的 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 属性等于 AddAssign,并且其 LeftRight 属性设置为指定值。

示例

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

// 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)

Source:
BinaryExpression.cs
Source:
BinaryExpression.cs
Source:
BinaryExpression.cs

创建一个表示不进行溢出检查的加法赋值运算的 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);
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

返回

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

适用于

AddAssign(Expression, Expression, MethodInfo, LambdaExpression)

Source:
BinaryExpression.cs
Source:
BinaryExpression.cs
Source:
BinaryExpression.cs

创建一个表示不进行溢出检查的加法赋值运算的 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);
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

返回

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

适用于