Expression.Label Method (Type)
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Creates a LabelTarget representing a label with the given type.
Assembly: System.Core (in System.Core.dll)
Parameters
- type
- Type: System.Type
The type of value that is passed when jumping to the label.
Return Value
Type: System.Linq.Expressions.LabelTargetThe new LabelTarget representing a label with the given type.
The following example demonstrates how to use a LabelTarget object in a loop expression.
' Add the following directive to the file: ' Imports System.Linq.Expressions ' Creating a parameter expression. Dim value As ParameterExpression = Expression.Parameter(GetType(Integer), "value") ' Creating an expression to hold a local variable. Dim result As ParameterExpression = Expression.Parameter(GetType(Integer), "result") ' Creating a label to jump to from a loop. Dim label As LabelTarget = Expression.Label(GetType(Integer)) ' Creating a method body. Dim block As BlockExpression = Expression.Block( New ParameterExpression() {result}, Expression.Assign(result, Expression.Constant(1)), Expression.Loop( Expression.IfThenElse( Expression.GreaterThan(value, Expression.Constant(1)), Expression.MultiplyAssign(result, Expression.PostDecrementAssign(value)), Expression.Break(label, result) ), label ) ) ' Compile an expression tree and return a delegate. Dim factorial As Integer = Expression.Lambda(Of Func(Of Integer, Integer))(block, value).Compile()(5) outputBlock.Text &= factorial & vbCrLf ' This code example produces the following output: ' ' 120
Show: