ILGenerator.DeclareLocal Method (Type)

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

Declares a local variable of the specified type.

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

Syntax

'Declaration
Public Overridable Function DeclareLocal ( _
    localType As Type _
) As LocalBuilder
public virtual LocalBuilder DeclareLocal(
    Type localType
)

Parameters

  • localType
    Type: System.Type
    The type of the local variable.

Return Value

Type: System.Reflection.Emit.LocalBuilder
The declared local variable.

Exceptions

Exception Condition
ArgumentNullException

localType is nulla null reference (Nothing in Visual Basic).

InvalidOperationException

The containing type has been created by the TypeBuilder.CreateType method.

Remarks

The local variable is created in the current lexical scope. For example, if code is being emitted in a for loop (For loop in Visual Basic), the scope of the variable is the loop.

A local variable that is created with this overload is not pinned. To create a pinned variable for use with unmanaged pointers, use the DeclareLocal(Type, Boolean) method overload.

Examples

The following example demonstrates the use of the DeclareLocal method to declare two local variables. This code is part of a larger example provided for the BeginExceptionBlock method.

' The exception that is thrown by DoAdd.
Dim overflowType As Type = GetType(OverflowException)


' Declare local variables to hold the result of the addition, and the
' exception that is caught by the Catch block.
Dim result As LocalBuilder = adderIL.DeclareLocal(GetType(Integer))
Dim thrownException As LocalBuilder = _
                    adderIL.DeclareLocal(overflowType)
// The exception that is thrown by DoAdd.
Type overflowType = typeof(OverflowException);


// Declare local variables to hold the result of the addition, and the
// exception that is caught by the Catch block.
LocalBuilder result = adderIL.DeclareLocal(typeof(int));
LocalBuilder thrownException = adderIL.DeclareLocal(overflowType);

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.