Expression.Label Method (Type)
.NET Framework (current version)
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.
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) Console.WriteLine(factorial) ' This code example produces the following output: ' ' 120
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: