Bagikan melalui


Kelas System.Reflection.Emit.MethodBuilder

Artikel ini menyediakan keterangan tambahan untuk dokumentasi referensi untuk API ini.

Kelas MethodBuilder ini digunakan untuk sepenuhnya menggambarkan metode dalam bahasa perantara umum (CIL), termasuk nama, atribut, tanda tangan, dan isi metode. Ini digunakan dalam hubungannya dengan kelas TypeBuilder untuk membuat kelas saat runtime.

Anda dapat menggunakan Reflection Emit untuk mendefinisikan method global dan mendefinisikan metode sebagai anggota jenis. API yang mendefinisikan metode akan mengembalikan objek MethodBuilder.

Metode global

Metode global didefinisikan dengan menggunakan ModuleBuilder.DefineGlobalMethod metode , yang mengembalikan MethodBuilder objek.

Metode global harus statis. Jika modul dinamis berisi metode global, ModuleBuilder.CreateGlobalFunctions metode harus dipanggil sebelum mempertahankan modul dinamis atau rakitan dinamis yang berisi karena runtime bahasa umum menunda perbaikan modul dinamis sampai semua fungsi global telah ditentukan.

Metode global asli didefinisikan menggunakan metode ModuleBuilder.DefinePInvokeMethod. Metode Platform Invoke (PInvoke) tidak boleh dinyatakan abstrak atau virtual. Runtime mengatur MethodAttributes.PinvokeImpl atribut untuk metode pemanggilan platform.

Metode sebagai anggota tipe

Metode didefinisikan sebagai anggota jenis dengan menggunakan TypeBuilder.DefineMethod metode , yang mengembalikan MethodBuilder objek.

Metode DefineParameter ini digunakan untuk mengatur atribut nama dan parameter parameter, atau nilai yang dikembalikan. Objek ParameterBuilder yang dikembalikan oleh metode ini mewakili parameter atau nilai yang dikembalikan. Objek ParameterBuilder dapat digunakan untuk mengatur marshaling, untuk mengatur nilai konstanta, dan untuk menerapkan atribut kustom.

Atributs

Anggota MethodAttributes enumerasi menentukan karakter yang tepat dari metode dinamis:

Masalah yang diketahui