Expression.Assign Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Creates a BinaryExpression that represents an assignment operation.
Namespace: System.Linq.Expressions
Assembly: System.Core (in System.Core.dll)
Syntax
'Declaration
Public Shared Function Assign ( _
left As Expression, _
right As Expression _
) As BinaryExpression
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.
Remarks
The Assign expression copies a value for value types, and it copies a reference for reference types.
Examples
The following code example shows how to create an expression that represents an assignment operation.
' 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.
outputBlock.Text &= assignExpr.ToString() & vbCrLf
' The following statement first creates an expression tree,
' then compiles it, and then executes it.
outputBlock.Text &= Expression.Lambda(Of Func(Of String))(blockExpr).Compile()() & vbCrLf
' This code example produces the following output:
'
' (sampleVar = "Hello World!")
' Hello World!
// 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!
Version Information
Silverlight
Supported in: 5, 4
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.