ILGenerator.DeclareLocal Yöntem

Tanım

Yerel bir değişken bildirir.

Aşırı Yüklemeler

Name Description
DeclareLocal(Type, Boolean)

Belirtilen türün yerel değişkenini bildirir ve isteğe bağlı olarak değişkeni tarafından başvuruda bulunılan nesneyi sabitler.

DeclareLocal(Type)

Belirtilen türde bir yerel değişken bildirir.

DeclareLocal(Type, Boolean)

Kaynak:
ILGenerator.cs
Kaynak:
ILGenerator.cs
Kaynak:
ILGenerator.cs
Kaynak:
ILGenerator.cs
Kaynak:
ILGenerator.cs

Belirtilen türün yerel değişkenini bildirir ve isteğe bağlı olarak değişkeni tarafından başvuruda bulunılan nesneyi sabitler.

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);
public virtual System.Reflection.Emit.LocalBuilder DeclareLocal(Type localType, bool pinned);
abstract member DeclareLocal : Type * bool -> System.Reflection.Emit.LocalBuilder
abstract member DeclareLocal : Type * bool -> System.Reflection.Emit.LocalBuilder
override this.DeclareLocal : Type * bool -> System.Reflection.Emit.LocalBuilder
Public MustOverride Function DeclareLocal (localType As Type, pinned As Boolean) As LocalBuilder
Public Overridable Function DeclareLocal (localType As Type, pinned As Boolean) As LocalBuilder

Parametreler

localType
Type

Type Yerel değişkenin türünü temsil eden nesne.

pinned
Boolean

true nesneyi belleğe sabitlemek için; aksi takdirde , false.

Döndürülenler

LocalBuilder Yerel değişkeni temsil eden bir nesne.

Özel durumlar

localType, null'e eşittir.

İçeren tür yöntemi tarafından CreateType() oluşturulmuştur.

-veya-

Kapsayan yöntemin yöntem gövdesi yöntemi tarafından CreateMethodBody(Byte[], Int32) oluşturulmuştur.

Bunun ILGenerator ilişkilendirildiği yöntem bir MethodBuilderile temsil edilmez.

Açıklamalar

Yerel değişken geçerli sözcük temelli kapsamda oluşturulur; örneğin, kod for döngüsünde (Visual Basic For döngüsü) yayılıyorsa değişkenin kapsamı döngüdür.

Güvenli olmayan kodda, yönetilmeyen bir işaretçi tarafından başvurulabilmesi için önce nesne sabitlenmelidir. Başvurulan nesne sabitlenmiş olsa da, çöp toplama tarafından taşınamaz.

Şunlara uygulanır

DeclareLocal(Type)

Kaynak:
ILGenerator.cs
Kaynak:
ILGenerator.cs
Kaynak:
ILGenerator.cs
Kaynak:
ILGenerator.cs
Kaynak:
ILGenerator.cs

Belirtilen türde bir yerel değişken bildirir.

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

Parametreler

localType
Type

Type Yerel değişkenin türünü temsil eden nesne.

Döndürülenler

Bildirilen yerel değişken.

Özel durumlar

localType, null'e eşittir.

İçeren tür yöntemi tarafından CreateType() oluşturulmuştur.

Örnekler

Aşağıdaki kod örneği, yönteminin DeclareLocal kullanımını gösterir. Bu kod, sınıfı için daha büyük bir kod örneğinin LocalBuilder parçasıdır.

// 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)

Açıklamalar

Yerel değişken geçerli sözcük temelli kapsamda oluşturulur; örneğin, kod for döngüsünde (Visual Basic For döngüsü) yayılıyorsa değişkenin kapsamı döngüdür.

Bu aşırı yüklemeyle oluşturulan yerel değişken sabitlenmez. Yönetilmeyen işaretçilerle kullanmak üzere sabitlenmiş bir değişken oluşturmak için yöntem aşırı yüklemesini DeclareLocal(Type, Boolean) kullanın.

Şunlara uygulanır