Expression.Assign(Expression, Expression) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erstellt eine BinaryExpression, die eine Zuweisungsoperation darstellt.
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
Parameter
- left
- Expression
Ein Expression, auf den die Left-Eigenschaft festgelegt werden soll.
- right
- Expression
Ein Expression, auf den die Right-Eigenschaft festgelegt werden soll.
Gibt zurück
Ein BinaryExpression, bei dem die NodeType-Eigenschaft gleich Assign ist und die Left-Eigenschaft sowie die Right-Eigenschaft auf die angegebenen Werte festgelegt sind.
Beispiele
Das folgende Codebeispiel zeigt, wie Sie einen Ausdruck erstellen, der einen Zuweisungsvorgang darstellt.
// 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!
Hinweise
Der Assign
Ausdruck kopiert einen Wert für Werttypen und kopiert einen Verweis für Verweistypen.