DynamicILInfo Kelas
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.
Menyediakan dukungan untuk cara alternatif untuk menghasilkan bahasa perantara Microsoft (MSIL) dan metadata untuk metode dinamis, termasuk metode untuk membuat token dan untuk menyisipkan kode, penanganan pengecualian, dan blob tanda tangan variabel lokal.
public ref class DynamicILInfo sealed
public ref class DynamicILInfo
public sealed class DynamicILInfo
[System.Runtime.InteropServices.ComVisible(true)]
public class DynamicILInfo
public class DynamicILInfo
type DynamicILInfo = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type DynamicILInfo = class
Public NotInheritable Class DynamicILInfo
Public Class DynamicILInfo
- Warisan
-
DynamicILInfo
- Atribut
Keterangan
Kelas ini DynamicILInfo memungkinkan pengembang untuk menulis generator MSIL mereka sendiri alih-alih menggunakan ILGenerator.
Untuk membuat instans jenis lain, metode panggilan, dan sebagainya, MSIL yang Anda buat harus menyertakan token untuk entitas tersebut. Kelas DynamicILInfo menyediakan beberapa kelebihan beban GetTokenFor metode , yang mengembalikan token yang valid dalam cakupan saat ini DynamicILInfo. Misalnya, jika Anda perlu memanggil kelebihan beban Console.WriteLine metode, Anda dapat memperoleh RuntimeMethodHandle untuk kelebihan beban tersebut GetTokenFor dan meneruskannya ke metode untuk mendapatkan token untuk disematkan di MSIL Anda.
Setelah Anda membuat Byte array untuk tanda tangan variabel lokal, pengecualian, dan isi kode, Anda dapat menggunakan SetCodemetode , SetExceptions, dan SetLocalSignature untuk menyisipkannya ke dalam DynamicMethod yang terkait dengan objek Anda DynamicILInfo .
Menghasilkan metadata Anda sendiri dan MSIL memerlukan keakraban dengan dokumentasi Common Language Infrastructure (CLI), terutama "Partisi II: Definisi metadata dan Semantik" dan "Partisi III: Set Instruksi CIL". Untuk informasi selengkapnya, lihat Infrastruktur Bahasa Umum (CLI) ECMA 335.
Catatan
Jangan gunakan DynamicILInfo untuk menghasilkan kode yang membuat delegasi ke metode dinamis lain dengan memanggil konstruktor delegasi secara langsung. Sebagai gantinya CreateDelegate , gunakan metode untuk membuat delegasi. Delegasi yang dibuat dengan konstruktor delegasi tidak memiliki referensi ke metode dinamis target. Metode dinamis mungkin diklaim kembali oleh pengumpulan sampah saat delegasi masih digunakan.
Properti
DynamicMethod |
Mendapatkan metode dinamis yang isinya dihasilkan oleh instans saat ini. |
Metode
Equals(Object) |
Menentukan apakah objek yang ditentukan sama dengan objek saat ini. (Diperoleh dari Object) |
GetHashCode() |
Berfungsi sebagai fungsi hash default. (Diperoleh dari Object) |
GetTokenFor(Byte[]) |
Mendapatkan token, valid dalam cakupan saat ini DynamicILInfo, mewakili tanda tangan untuk metode dinamis terkait. |
GetTokenFor(DynamicMethod) |
Mendapatkan token, valid dalam cakupan saat ini DynamicILInfo, mewakili metode dinamis yang akan dipanggil dari metode terkait. |
GetTokenFor(RuntimeFieldHandle) |
Mendapatkan token, valid dalam cakupan saat ini DynamicILInfo, mewakili bidang yang akan diakses dari metode dinamis terkait. |
GetTokenFor(RuntimeFieldHandle, RuntimeTypeHandle) |
Mendapatkan token, valid dalam cakupan saat ini DynamicILInfo, mewakili bidang yang akan diakses dari metode dinamis terkait; bidang berada pada jenis generik yang ditentukan. |
GetTokenFor(RuntimeMethodHandle) |
Mendapatkan token, valid dalam cakupan saat ini DynamicILInfo, mewakili metode yang akan diakses dari metode dinamis terkait. |
GetTokenFor(RuntimeMethodHandle, RuntimeTypeHandle) |
Mendapatkan token, valid dalam cakupan saat ini DynamicILInfo, mewakili metode pada jenis generik. |
GetTokenFor(RuntimeTypeHandle) |
Mendapatkan token, valid dalam cakupan saat ini DynamicILInfo, mewakili jenis yang akan digunakan dalam metode dinamis terkait. |
GetTokenFor(String) |
Mendapatkan token, valid dalam cakupan saat ini DynamicILInfo, mewakili string harfiah yang akan digunakan dalam metode dinamis terkait. |
GetType() |
Mendapatkan instans Type saat ini. (Diperoleh dari Object) |
MemberwiseClone() |
Membuat salinan dangkal dari yang saat ini Object. (Diperoleh dari Object) |
SetCode(Byte*, Int32, Int32) |
Mengatur isi kode dari metode dinamis terkait. |
SetCode(Byte[], Int32) |
Mengatur isi kode dari metode dinamis terkait. |
SetExceptions(Byte*, Int32) |
Mengatur metadata pengecualian untuk metode dinamis terkait. |
SetExceptions(Byte[]) |
Mengatur metadata pengecualian untuk metode dinamis terkait. |
SetLocalSignature(Byte*, Int32) |
Mengatur tanda tangan variabel lokal yang menjelaskan tata letak variabel lokal untuk metode dinamis terkait. |
SetLocalSignature(Byte[]) |
Mengatur tanda tangan variabel lokal yang menjelaskan tata letak variabel lokal untuk metode dinamis terkait. |
ToString() |
Mengembalikan string yang mewakili objek saat ini. (Diperoleh dari Object) |