DeclareLocal Method (Type, Boolean)
Collapse the table of content
Expand the table of content

ILGenerator.DeclareLocal Method (Type, Boolean)

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)

public virtual LocalBuilder DeclareLocal (
	Type localType,
	bool pinned
public LocalBuilder DeclareLocal (
	Type localType, 
	boolean pinned
public function DeclareLocal (
	localType : Type, 
	pinned : boolean
) : LocalBuilder
Not applicable.



A Type object that represents the type of the local variable.


true to pin the object in memory; otherwise, false.

Return Value

A LocalBuilder object that represents the local variable.

Exception typeCondition


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


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


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


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

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.

Windows 98, Windows Server 2000 SP4, Windows Millennium Edition, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0

Community Additions

© 2016 Microsoft