Expression.Assign(Expression, Expression) 메서드

정의

BinaryExpression 할당 작업을 나타내는 API를 만듭니다.

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

매개 변수

left
Expression

Expression 속성을 같게 Left 설정하는 값입니다.

right
Expression

Expression 속성을 같게 Right 설정하는 값입니다.

반품

BinaryExpression 속성이 NodeTypeAssignLeft 지정된 값으로 설정된 속성과 Right 속성이 있는 A입니다.

예제

다음 코드 예제에서는 할당 작업을 나타내는 식을 만드는 방법을 보여 줍니다.

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

// To demonstrate the assignment operation, we create a variable.
ParameterExpression variableExpr = Expression.Variable(typeof(String), "sampleVar");

// This expression represents the assignment of a value
// to a variable expression.
// It copies a value for value types, and
// copies a reference for reference types.
Expression assignExpr = Expression.Assign(
    variableExpr,
    Expression.Constant("Hello World!")
    );

// The block expression allows for executing several expressions sequentually.
// In this block, we pass the variable expression as a parameter,
// and then assign this parameter a value in the assign expression.
Expression blockExpr = Expression.Block(
    new ParameterExpression[] { variableExpr },
    assignExpr
    );

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

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

// This code example produces the following output:
//
// (sampleVar = "Hello World!")
// Hello World!
' Add the following directive to your file:
' Imports System.Linq.Expressions 

' To demonstrate the assignment operation, create a variable.
Dim variableExpr As ParameterExpression = Expression.Variable(GetType(String), "sampleVar")

' This expression represents the assignment of a value
' to a variable expression.
' It copies a value for value types, and it
' copies a reference for reference types.
Dim assignExpr As Expression = Expression.Assign(
    variableExpr,
    Expression.Constant("Hello World!")
    )

' The block expression allows for executing several expressions sequentually.
' In this block, you pass the variable expression as a parameter,
' and then assign this parameter a value in the assign expression.
Dim blockExpr As Expression = Expression.Block(
      New ParameterExpression() {variableExpr}, assignExpr
      )

' Print the assign expression.
Console.WriteLine(assignExpr.ToString())

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

' This code example produces the following output:
'
' (sampleVar = "Hello World!")
' Hello World!

설명

식은 Assign 값 형식에 대한 값을 복사하고 참조 형식에 대한 참조를 복사합니다.

적용 대상