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 と等しく、AddAssignプロパティとLeftプロパティが指定した値に設定されているRight

次のコード例は、整数変数に値を追加し、操作の結果を変数に割り当てる式を作成する方法を示しています。

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

返品

BinaryExpressionと等しいNodeType プロパティと、指定した値に設定されたAddAssignLeft、およびRightプロパティを持つMethod

適用対象

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

返品

BinaryExpressionと等しいNodeType プロパティと、指定した値に設定されたAddAssignLeftRight、およびMethodプロパティを持つConversion

適用対象