RuntimeHelpers.PrepareMethod 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.
Menyiapkan metode untuk penyertaan di wilayah eksekusi yang dibatasi (CER).
Overload
PrepareMethod(RuntimeMethodHandle) |
Menyiapkan metode untuk penyertaan di wilayah eksekusi yang dibatasi (CER). |
PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) |
Menyiapkan metode untuk penyertaan di wilayah eksekusi yang dibatasi (CER) dengan instansiasi yang ditentukan. |
PrepareMethod(RuntimeMethodHandle)
- Sumber:
- RuntimeHelpers.CoreCLR.cs
- Sumber:
- RuntimeHelpers.CoreCLR.cs
- Sumber:
- RuntimeHelpers.CoreCLR.cs
Menyiapkan metode untuk penyertaan di wilayah eksekusi yang dibatasi (CER).
public:
static void PrepareMethod(RuntimeMethodHandle method);
public static void PrepareMethod (RuntimeMethodHandle method);
[System.Security.SecurityCritical]
public static void PrepareMethod (RuntimeMethodHandle method);
static member PrepareMethod : RuntimeMethodHandle -> unit
[<System.Security.SecurityCritical>]
static member PrepareMethod : RuntimeMethodHandle -> unit
Public Shared Sub PrepareMethod (method As RuntimeMethodHandle)
Parameter
- method
- RuntimeMethodHandle
Handel ke metode untuk disiapkan.
- Atribut
Keterangan
Pengkompilasi menggunakan PrepareMethod(RuntimeMethodHandle) metode untuk menangani panggilan virtual yang dilakukan di dalam wilayah eksekusi yang dibatasi (CER). Pada waktu kompilasi JIT, runtime bahasa umum biasanya tidak memiliki informasi yang cukup tentang target panggilan virtual. Oleh karena itu, runtime awalnya tidak menyiapkan segmen grafik panggilan tersebut. Jika kode yang menggunakan CER memiliki pengetahuan yang cukup untuk menentukan target kapan saja sebelum CER benar-benar dimasukkan, kode dapat memanggil PrepareMethod(RuntimeMethodHandle) untuk melakukan persiapan runtime yang sama yang biasanya dilakukan untuk CER yang berakar pada metode yang ditentukan sebagai argumen.
Berlaku untuk
PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[])
- Sumber:
- RuntimeHelpers.CoreCLR.cs
- Sumber:
- RuntimeHelpers.CoreCLR.cs
- Sumber:
- RuntimeHelpers.CoreCLR.cs
Menyiapkan metode untuk penyertaan di wilayah eksekusi yang dibatasi (CER) dengan instansiasi yang ditentukan.
public:
static void PrepareMethod(RuntimeMethodHandle method, cli::array <RuntimeTypeHandle> ^ instantiation);
public static void PrepareMethod (RuntimeMethodHandle method, RuntimeTypeHandle[]? instantiation);
[System.Security.SecurityCritical]
public static void PrepareMethod (RuntimeMethodHandle method, RuntimeTypeHandle[] instantiation);
public static void PrepareMethod (RuntimeMethodHandle method, RuntimeTypeHandle[] instantiation);
static member PrepareMethod : RuntimeMethodHandle * RuntimeTypeHandle[] -> unit
[<System.Security.SecurityCritical>]
static member PrepareMethod : RuntimeMethodHandle * RuntimeTypeHandle[] -> unit
Public Shared Sub PrepareMethod (method As RuntimeMethodHandle, instantiation As RuntimeTypeHandle())
Parameter
- method
- RuntimeMethodHandle
Handel ke metode untuk disiapkan.
- instantiation
- RuntimeTypeHandle[]
Instansiasi untuk diteruskan ke metode .
- Atribut
Keterangan
Anda dapat memberikan dukungan generik untuk pengkompilasi dengan menggunakan metode .PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) Runtime bahasa umum tidak dapat menyiapkan wilayah eksekusi yang dibatasi (CER) yang berakar dalam metode yang memiliki parameter jenis generik (baik parameter jenis pada kelas yang berisi metode atau satu pada metode itu sendiri) ketika parameter jenis tersebut dibuat sebagai jenis referensi.
Anda dapat menggunakan kelebihan beban ini untuk melewati instansiasi tertentu (seperti array jenis), menentukan parameter jenis kelas terlebih dahulu (jika ada), diikuti oleh parameter jenis metode (jika ada). Runtime mempersiapkan instansiasi metode tersebut. (Ini hanya diperlukan jika instansiasi yang Anda gunakan berisi setidaknya satu parameter jenis referensi.) Dengan demikian, Anda dapat menggunakan klausa gaya try
CER dalam metode generik (atau metode nongenerik pada kelas generik) dan itu akan bekerja dengan andal dengan instansiasi Int32 atau jenis nilai lainnya. Untuk membuat contoh jenis referensi seperti String, Anda harus menggunakan metode eksplisit PrepareMethod(RuntimeMethodHandle, RuntimeTypeHandle[]) pada metode akar CER terlebih dahulu.