Expression.Assign Method

Creates a BinaryExpression that represents an assignment operation.

Namespace:  System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)

public static BinaryExpression Assign(
	Expression left,
	Expression right
)

Parameters

left
Type: System.Linq.Expressions.Expression
An Expression to set the Left property equal to.
right
Type: System.Linq.Expressions.Expression
An Expression to set the Right property equal to.

Return Value

Type: System.Linq.Expressions.BinaryExpression
A BinaryExpression that has the NodeType property equal to Assign and the Left and Right properties set to the specified values.

The Assign expression copies a value for value types, and it copies a reference for reference types.

The following code example shows how to create an expression that represents an assignment operation.


       // 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.
       outputBlock.Text += assignExpr.ToString() + "\n";

       // The following statement first creates an expression tree,
       // then compiles it, and then executes it.  
       outputBlock.Text += Expression.Lambda<Func<String>>(blockExpr).Compile()() + "\n";

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



Silverlight

Supported in: 5, 4

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

ADD
Show: