ILGenerator.DeclareLocal Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
- 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
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.