ILGenerator.DefineLabel Method

Microsoft Silverlight will reach end of support after October 2021. Learn more.

Declares a new label.

Namespace:  System.Reflection.Emit
Assembly:  mscorlib (in mscorlib.dll)

Syntax

'Declaration
Public Overridable Function DefineLabel As Label
public virtual Label DefineLabel()

Return Value

Type: System.Reflection.Emit.Label
A new label that can be used as a token for branching.

Remarks

The label is just a token and does not yet represent any particular location within the stream. To set the position of the label within the stream, you must call the MarkLabel method.

Examples

The following example demonstrates the use of the DefineLabel method to define three labels. This code is part of a larger example provided for the BeginExceptionBlock method.

' Define labels for branching. The labels can be used immediately in Emit
' calls, but they do not acquire their target locations until the 
' MarkLabel(Label) method is called at the location in the program that
' the label applies to.
'
Dim succeeded As Label = adderIL.DefineLabel()
Dim skipOutputInFinally As Label = adderIL.DefineLabel()
Dim skipOutputInCatch As Label = adderIL.DefineLabel()
// Define labels for branching. The labels can be used immediately in Emit
// calls, but they do not acquire their target locations until the 
// MarkLabel(Label) method is called at the location in the program that
// the label applies to.
//
Label succeeded = adderIL.DefineLabel();
Label skipOutputInFinally = adderIL.DefineLabel();
Label skipOutputInCatch = adderIL.DefineLabel();

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.