Expression.Goto Method (LabelTarget)
.NET Framework (current version)
Creates a GotoExpression representing a "go to" statement.
Assembly: System.Core (in System.Core.dll)
Parameters
- target
-
Type:
System.Linq.Expressions.LabelTarget
The LabelTarget that the GotoExpression will jump to.
Return Value
Type: System.Linq.Expressions.GotoExpressionA 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).
Universal Windows Platform
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 4.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Available since 8
.NET Framework
Available since 4.0
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 4.0
Windows Phone Silverlight
Available since 8.0
Windows Phone
Available since 8.1
Show: