Expand Minimize
This topic has not yet been rated - Rate this topic

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.
            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!

.NET Framework

Supported in: 4.5, 4

.NET Framework Client Profile

Supported in: 4

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Did you find this helpful?
(1500 characters remaining)
© 2013 Microsoft. All rights reserved.