RuntimeHelpers.PrepareMethod Metode

Definisi

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.

Berlaku untuk