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 memasukkan 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 overload metode GetTokenFor, yang mengembalikan token yang valid dalam cakupan DynamicILInfo. Misalnya, jika Anda perlu memanggil overload dari metode Console.WriteLine, Anda dapat memperoleh RuntimeMethodHandle untuk overload tersebut dan meneruskannya ke metode GetTokenFor untuk mendapatkan token yang dapat disematkan ke dalam MSIL Anda.
Setelah Anda membuat Byte array untuk tanda tangan variabel lokal, pengecualian, dan isi kode, Anda dapat menggunakan metode SetCode, SetExceptions, dan SetLocalSignature untuk menyisipkannya ke dalam DynamicMethod yang terkait dengan objek DynamicILInfo Anda.
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.
Note
Jangan gunakan DynamicILInfo untuk menghasilkan kode yang membuat delegasi ke metode dinamis lain dengan memanggil konstruktor delegasi secara langsung. Sebagai gantinya, gunakan metode CreateDelegate untuk membuat delegasi. Delegasi yang dibuat dengan konstruktor delegasi tidak memiliki referensi ke metode dinamis target. Metode dinamis mungkin direklamasi oleh pengumpulan sampah meskipun fungsi delegasi masih digunakan.
Properti
| Nama | Deskripsi |
|---|---|
| DynamicMethod |
Mendapatkan metode dinamis yang isinya dihasilkan oleh instans saat ini. |
Metode
| Nama | Deskripsi |
|---|---|
| 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, 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(RuntimeFieldHandle) |
Mendapatkan token, valid dalam cakupan saat ini DynamicILInfo, mewakili bidang yang akan diakses dari metode dinamis terkait. |
| GetTokenFor(RuntimeMethodHandle, RuntimeTypeHandle) |
Mendapatkan token, valid dalam cakupan saat ini DynamicILInfo, mewakili metode pada jenis generik. |
| GetTokenFor(RuntimeMethodHandle) |
Mendapatkan token, valid dalam cakupan saat ini DynamicILInfo, mewakili metode yang akan diakses dari metode dinamis terkait. |
| 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 Type instans saat ini. (Diperoleh dari Object) |
| MemberwiseClone() |
Membuat salinan dangkal dari Objectsaat ini. (Diperoleh dari Object) |
| SetCode(Byte[], Int32) |
Mengatur isi kode dari metode dinamis terkait. |
| SetCode(Byte*, Int32, Int32) |
Mengatur isi kode dari metode dinamis terkait. |
| SetExceptions(Byte[]) |
Mengatur metadata pengecualian untuk metode dinamis terkait. |
| SetExceptions(Byte*, Int32) |
Mengatur metadata pengecualian untuk metode dinamis terkait. |
| SetLocalSignature(Byte[]) |
Mengatur tanda tangan variabel lokal yang menjelaskan tata letak variabel lokal untuk metode dinamis terkait. |
| SetLocalSignature(Byte*, Int32) |
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) |