Expression.Label Method ()
.NET Framework (current version)
Creates a LabelTarget representing a label with void type and no name.
Assembly: System.Core (in System.Core.dll)
The following example demonstrates how to create an expression that contains a LabelTarget object.
' Add the following directive to the file: ' Imports System.Linq.Expressions ' A label expression of the void type that is the target for Expression.Return(). Dim returnTarget As LabelTarget = Expression.Label() ' This block contains a GotoExpression that represents a return statement with no value. ' 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. Dim blockExpr As BlockExpression = Expression.Block( Expression.Call(GetType(Console).GetMethod("WriteLine", New Type() {GetType(String)}), Expression.Constant("Return")), Expression.Return(returnTarget), Expression.Call(GetType(Console).GetMethod("WriteLine", New Type() {GetType(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(Of Action)(blockExpr).Compile()() ' This code example produces the following output: ' ' Return ' "Other Work" is not printed because ' the Return expression transfers execution from Return(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: