ILGenerator.DeclareLocal Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mendeklarasikan variabel lokal.
Overload
DeclareLocal(Type, Boolean) |
Mendeklarasikan variabel lokal dari jenis yang ditentukan, secara opsional menyematkan objek yang dirujuk oleh variabel . |
DeclareLocal(Type) |
Mendeklarasikan variabel lokal dari jenis yang ditentukan. |
DeclareLocal(Type, Boolean)
- Sumber:
- ILGenerator.cs
- Sumber:
- ILGenerator.cs
- Sumber:
- ILGenerator.cs
Mendeklarasikan variabel lokal dari jenis yang ditentukan, secara opsional menyematkan objek yang dirujuk oleh variabel .
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
Parameter
- pinned
- Boolean
true
untuk menyematkan objek dalam memori; jika tidak, false
.
Mengembalikan
Objek LocalBuilder yang mewakili variabel lokal.
Pengecualian
localType
adalah null
.
Jenis yang berisi telah dibuat oleh CreateType() metode .
-atau-
Isi metode metode penutup telah dibuat oleh CreateMethodBody(Byte[], Int32) metode .
Metode yang terkait dengan ini ILGenerator tidak diwakili oleh MethodBuilder.
Keterangan
Variabel lokal dibuat dalam cakupan leksikal saat ini; misalnya, jika kode dipancarkan dalam perulangan for
(For
perulangan di Visual Basic), cakupan variabel adalah perulangan.
Dalam kode yang tidak aman, objek harus disematkan sebelum dapat dirujuk oleh penunjuk yang tidak dikelola. Saat objek yang direferensikan disematkan, objek tidak dapat dipindahkan oleh pengumpulan sampah.
Berlaku untuk
DeclareLocal(Type)
- Sumber:
- ILGenerator.cs
- Sumber:
- ILGenerator.cs
- Sumber:
- ILGenerator.cs
Mendeklarasikan variabel lokal dari jenis yang ditentukan.
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
Parameter
Mengembalikan
Variabel lokal yang dideklarasikan.
Pengecualian
localType
adalah null
.
Jenis yang berisi telah dibuat oleh CreateType() metode .
Contoh
Contoh kode berikut menunjukkan penggunaan DeclareLocal
metode . Kode ini adalah bagian dari contoh kode yang lebih besar untuk LocalBuilder kelas .
// 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)
Keterangan
Variabel lokal dibuat dalam cakupan leksikal saat ini; misalnya, jika kode dipancarkan dalam perulangan for
(For
perulangan di Visual Basic), cakupan variabel adalah perulangan.
Variabel lokal yang dibuat dengan kelebihan beban ini tidak disematkan. Untuk membuat variabel yang disematkan untuk digunakan dengan pointer yang tidak dikelola, gunakan DeclareLocal(Type, Boolean) metode kelebihan beban.