The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.
BlockExpression Class
Represents a block that contains a sequence of expressions where variables can be defined.
Namespace: System.Linq.Expressions
Assembly: System.Core (in System.Core.dll)
The BlockExpression type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | CanReduce | Indicates that the node can be reduced to a simpler node. If this returns true, Reduce() can be called to produce the reduced form. (Inherited from Expression.) |
![]() | Expressions | Gets the expressions in this block. |
![]() | NodeType | Returns the node type of this expression. Extension nodes should return Extension when overriding this method. (Overrides Expression.NodeType.) |
![]() | Result | Gets the last expression in this block. |
![]() | Type | Gets the static type of the expression that this Expression represents. (Overrides Expression.Type.) |
![]() | Variables | Gets the variables defined in this block. |
| Name | Description | |
|---|---|---|
![]() | Accept | Dispatches to the specific visit method for this node type. For example, MethodCallExpression calls the VisitMethodCall. (Overrides Expression.Accept(ExpressionVisitor).) |
![]() | Equals(Object) | Determines whether the specified Object is equal to the current Object. (Inherited from Object.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Serves as a hash function for a particular type. (Inherited from Object.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | Reduce | Reduces this node to a simpler expression. If CanReduce returns true, this should return a valid expression. This method can return another node which itself must be reduced. (Inherited from Expression.) |
![]() | ReduceAndCheck | Reduces this node to a simpler expression. If CanReduce returns true, this should return a valid expression. This method can return another node which itself must be reduced. (Inherited from Expression.) |
![]() | ReduceExtensions | Reduces the expression to a known node type (that is not an Extension node) or just returns the expression if it is already a known type. (Inherited from Expression.) |
![]() | ToString | Returns a textual representation of the Expression. (Inherited from Expression.) |
![]() | Update | Creates a new expression that is like this one, but using the supplied children. If all of the children are the same, it will return this expression. |
![]() | VisitChildren | Reduces the node and then calls the visitor delegate on the reduced expression. The method throws an exception if the node is not reducible. (Inherited from Expression.) |
The following code example shows how to create a block expression. The block expression consists of two MethodCallExpression objects and one ConstantExpression object.
' Add the following directive to your file: ' Imports System.Linq.Expressions ' The block expression enables you to execute several expressions sequentually. ' When the block expression is executed, ' it returns the value of the last expression in the sequence. Dim blockExpr As BlockExpression = Expression.Block( Expression.Call( Nothing, GetType(Console).GetMethod("Write", New Type() {GetType(String)}), Expression.Constant("Hello ") ), Expression.Call( Nothing, GetType(Console).GetMethod("WriteLine", New Type() {GetType(String)}), Expression.Constant("World!") ), Expression.Constant(42) ) outputBlock.Text &= "The result of executing the expression tree:" & vbCrLf ' The following statement first creates an expression tree, ' then compiles it, and then executes it. Dim result = Expression.Lambda(Of Func(Of Integer))(blockExpr).Compile()() ' Print the expressions from the block expression. outputBlock.Text &= "The expressions from the block expression:" & vbCrLf For Each expr In blockExpr.Expressions outputBlock.Text &= expr.ToString() & vbCrLf Next ' Print the result of the tree execution. outputBlock.Text &= "The return value of the block expression:" & vbCrLf outputBlock.Text &= result & vbCrLf ' This code example produces the following output: ' ' The result of executing the expression tree: ' Hello World! ' The expressions from the block expression: ' Write("Hello ") ' WriteLine("World!") ' 42 ' The return value of the block expression: ' 42
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.
Community Additions
Show:


