ILGenerator.DeclareLocal メソッド  
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
ローカル変数を宣言します。
オーバーロード
| DeclareLocal(Type, Boolean) | 
						 指定した型のローカル変数を宣言し、オプションでその変数が参照するオブジェクトを固定します。  | 
        	
| DeclareLocal(Type) | 
						 指定した型のローカル変数を宣言します。  | 
        	
DeclareLocal(Type, Boolean)
- ソース:
 - ILGenerator.cs
 
- ソース:
 - ILGenerator.cs
 
- ソース:
 - ILGenerator.cs
 
指定した型のローカル変数を宣言し、オプションでその変数が参照するオブジェクトを固定します。
public:
 virtual System::Reflection::Emit::LocalBuilder ^ DeclareLocal(Type ^ localType, bool pinned);
	public:
 abstract System::Reflection::Emit::LocalBuilder ^ DeclareLocal(Type ^ localType, bool pinned);
	public virtual System.Reflection.Emit.LocalBuilder DeclareLocal (Type localType, bool pinned);
	public abstract System.Reflection.Emit.LocalBuilder DeclareLocal (Type localType, bool pinned);
	abstract member DeclareLocal : Type * bool -> System.Reflection.Emit.LocalBuilder
override this.DeclareLocal : Type * bool -> System.Reflection.Emit.LocalBuilder
	abstract member DeclareLocal : Type * bool -> System.Reflection.Emit.LocalBuilder
	Public Overridable Function DeclareLocal (localType As Type, pinned As Boolean) As LocalBuilder
	Public MustOverride Function DeclareLocal (localType As Type, pinned As Boolean) As LocalBuilder
	パラメーター
- pinned
 - Boolean
 
メモリ内でオブジェクトを固定する場合は true。それ以外の場合は false。
戻り値
ローカル変数を表す LocalBuilder オブジェクト。
例外
              localType が nullです。
外側の型が CreateType() メソッドで作成されています。
- または -
外側のメソッドのメソッド本体が CreateMethodBody(Byte[], Int32) メソッドによって作成されています。
この ILGenerator が関連付けられているメソッドが、MethodBuilder で表されていません。
注釈
ローカル変数は、現在の字句スコープで作成されます。たとえば、コードがループ (For Visual Basic のループ) でfor出力されている場合、変数のスコープはループです。
アンセーフ コードでは、オブジェクトをアンマネージド ポインターで参照するには、その前にピン留めする必要があります。 参照先オブジェクトはピン留めされていますが、ガベージ コレクションでは移動できません。
適用対象
DeclareLocal(Type)
- ソース:
 - ILGenerator.cs
 
- ソース:
 - ILGenerator.cs
 
- ソース:
 - ILGenerator.cs
 
指定した型のローカル変数を宣言します。
public:
 virtual System::Reflection::Emit::LocalBuilder ^ DeclareLocal(Type ^ localType);
	public:
 System::Reflection::Emit::LocalBuilder ^ DeclareLocal(Type ^ localType);
	public virtual System.Reflection.Emit.LocalBuilder DeclareLocal (Type localType);
	public System.Reflection.Emit.LocalBuilder DeclareLocal (Type localType);
	abstract member DeclareLocal : Type -> System.Reflection.Emit.LocalBuilder
override this.DeclareLocal : Type -> System.Reflection.Emit.LocalBuilder
	member this.DeclareLocal : Type -> System.Reflection.Emit.LocalBuilder
	Public Overridable Function DeclareLocal (localType As Type) As LocalBuilder
	Public Function DeclareLocal (localType As Type) As LocalBuilder
	パラメーター
戻り値
宣言されたローカル変数。
例外
              localType が nullです。
外側の型が CreateType() メソッドで作成されています。
例
次のコード例は、 メソッドの使用方法を DeclareLocal 示しています。 このコードは、 クラスの大きなコード例の LocalBuilder 一部です。
// Create local variables named myString and myInt.
LocalBuilder^ myLB1 = myMethodIL->DeclareLocal( String::typeid );
myLB1->SetLocalSymInfo( "myString" );
Console::WriteLine( "local 'myString' type is: {0}", myLB1->LocalType );
LocalBuilder^ myLB2 = myMethodIL->DeclareLocal( int::typeid );
myLB2->SetLocalSymInfo( "myInt", 1, 2 );
Console::WriteLine( "local 'myInt' type is: {0}", myLB2->LocalType );
// Create local variables named myString and myInt.
LocalBuilder myLB1 = myMethodIL.DeclareLocal(typeof(string));
myLB1.SetLocalSymInfo("myString");
Console.WriteLine("local 'myString' type is: {0}", myLB1.LocalType);
LocalBuilder myLB2 = myMethodIL.DeclareLocal(typeof(int));
myLB2.SetLocalSymInfo("myInt", 1, 2);
Console.WriteLine("local 'myInt' type is: {0}", myLB2.LocalType);
' Create local variables named myString and myInt.
Dim myLB1 As LocalBuilder = myMethodIL.DeclareLocal(GetType(String))
myLB1.SetLocalSymInfo("myString")
Console.WriteLine("local 'myString' type is: {0}", myLB1.LocalType)
Dim myLB2 As LocalBuilder = myMethodIL.DeclareLocal(GetType(Integer))
myLB2.SetLocalSymInfo("myInt", 1, 2)
Console.WriteLine("local 'myInt' type is: {0}", myLB2.LocalType)
    	注釈
ローカル変数は、現在の字句スコープで作成されます。たとえば、コードがループ (For Visual Basic のループ) でfor出力されている場合、変数のスコープはループです。
このオーバーロードで作成されたローカル変数はピン留めされません。 アンマネージド ポインターで使用する固定変数を作成するには、 メソッドのオーバーロードを DeclareLocal(Type, Boolean) 使用します。