ILGenerator.DeclareLocal Method (Type, Boolean)

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

Declares a local variable of the specified type, optionally pinning the object referred to by the variable.

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

Syntax

'Declaration
Public Overridable Function DeclareLocal ( _
    localType As Type, _
    pinned As Boolean _
) As LocalBuilder
public virtual LocalBuilder DeclareLocal(
    Type localType,
    bool pinned
)

Parameters

  • localType
    Type: System.Type
    The type of the local variable.
  • pinned
    Type: System.Boolean
    true to pin the object in memory; otherwise, false.

Return Value

Type: System.Reflection.Emit.LocalBuilder
The 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.

-or-

The method body of the enclosing method has been created by the MethodBuilder.CreateMethodBody method.

NotSupportedException

The method with which this ILGenerator is associated is not represented by a MethodBuilder.

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.

In unsafe code, an object must be pinned before it can be referred to by an unmanaged pointer. While the referenced object is pinned, it cannot be moved by garbage collection.

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.