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.