Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

Expression.Goto Method (LabelTarget)

Creates a GotoExpression representing a "go to" statement.

Namespace:  System.Linq.Expressions
Assembly:  System.Core (in System.Core.dll)
public static GotoExpression Goto(
	LabelTarget target
)

Parameters

target
Type: System.Linq.Expressions.LabelTarget
The LabelTarget that the GotoExpression will jump to.

Return Value

Type: System.Linq.Expressions.GotoExpression
A GotoExpression with Kind equal to Goto, the Target property set to the specified value, and a null value to be passed to the target label upon jumping.

The following example demonstrates how to create an expression that contains a GotoExpression object.


// Add the following directive to your file:
// using System.Linq.Expressions;  

// A label expression of the void type that is the target for the GotoExpression.
LabelTarget returnTarget = Expression.Label();

// This block contains a GotoExpression.
// It transfers execution to a label expression that is initialized with the same LabelTarget as the GotoExpression.
// The types of the GotoExpression, label expression, and LabelTarget must match.
BlockExpression blockExpr =
    Expression.Block(
        Expression.Call(typeof(Console).GetMethod("WriteLine", new Type[] { typeof(string) }), Expression.Constant("GoTo")),
        Expression.Goto(returnTarget),
        Expression.Call(typeof(Console).GetMethod("WriteLine", new Type[] { typeof(string) }), Expression.Constant("Other Work")),
        Expression.Label(returnTarget)
    );

// The following statement first creates an expression tree,
// then compiles it, and then runs it.
Expression.Lambda<Action>(blockExpr).Compile()();

// This code example produces the following output:
//
// GoTo

// "Other Work" is not printed because 
// the GoTo expression transfers execution from Expression.GoTo(returnTarget)
// to Expression.Label(returnTarget).


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.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft. All rights reserved.