TypeBuilder.InvokeMember 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.
Memanggil anggota yang ditentukan. Metode yang akan dipanggil harus dapat diakses dan memberikan kecocokan paling spesifik dengan daftar argumen yang ditentukan, di bawah batasan atribut pengikat dan pemanggilan yang ditentukan.
public:
override System::Object ^ InvokeMember(System::String ^ name, System::Reflection::BindingFlags invokeAttr, System::Reflection::Binder ^ binder, System::Object ^ target, cli::array <System::Object ^> ^ args, cli::array <System::Reflection::ParameterModifier> ^ modifiers, System::Globalization::CultureInfo ^ culture, cli::array <System::String ^> ^ namedParameters);
public override object? InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder? binder, object? target, object?[]? args, System.Reflection.ParameterModifier[]? modifiers, System.Globalization.CultureInfo? culture, string[]? namedParameters);
public override object InvokeMember (string name, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, object target, object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] namedParameters);
override this.InvokeMember : string * System.Reflection.BindingFlags * System.Reflection.Binder * obj * obj[] * System.Reflection.ParameterModifier[] * System.Globalization.CultureInfo * string[] -> obj
Public Overrides Function InvokeMember (name As String, invokeAttr As BindingFlags, binder As Binder, target As Object, args As Object(), modifiers As ParameterModifier(), culture As CultureInfo, namedParameters As String()) As Object
Parameter
- name
- String
Nama anggota yang akan dipanggil. Ini bisa menjadi konstruktor, metode, properti, atau bidang. Atribut pemanggilan yang sesuai harus ditentukan. Perhatikan bahwa dimungkinkan untuk memanggil anggota default kelas dengan meneruskan string kosong sebagai nama anggota.
- invokeAttr
- BindingFlags
Atribut pemanggilan. Ini harus sedikit bendera dari BindingFlags
.
- binder
- Binder
Objek yang memungkinkan pengikatan, paksaan jenis argumen, pemanggilan anggota, dan MemberInfo
pengambilan objek menggunakan pantulan. Jika pengikat adalah null
, pengikat default digunakan. Lihat Binder.
- target
- Object
Objek untuk memanggil anggota yang ditentukan. Jika anggota statis, parameter ini diabaikan.
- args
- Object[]
Daftar argumen. Ini adalah array Objek yang berisi jumlah, urutan, dan jenis parameter anggota yang akan dipanggil. Jika tidak ada parameter, ini harus null.
- modifiers
- ParameterModifier[]
Array dengan panjang yang sama seperti args
elemen yang mewakili atribut yang terkait dengan argumen anggota yang akan dipanggil. Parameter memiliki atribut yang terkait dengannya dalam metadata. Mereka digunakan oleh berbagai layanan interoperabilitas. Lihat spesifikasi metadata untuk detail selengkapnya.
- culture
- CultureInfo
Instans yang CultureInfo
digunakan untuk mengatur pemasukan jenis. Jika ini null, CultureInfo
untuk utas saat ini digunakan. (Perhatikan bahwa ini diperlukan untuk, misalnya, mengonversi String yang mewakili 1000 menjadi nilai Ganda, karena 1000 diwakili secara berbeda oleh budaya yang berbeda.)
- namedParameters
- String[]
Setiap parameter dalam namedParameters
array mendapatkan nilai dalam elemen yang sesuai dalam args
array. Jika panjang args
lebih besar dari panjang namedParameters
, nilai argumen yang tersisa diteruskan secara berurutan.
Mengembalikan
Mengembalikan nilai yang dikembalikan dari anggota yang dipanggil.
Pengecualian
Metode ini saat ini tidak didukung untuk jenis yang tidak lengkap.
Keterangan
Metode akan dipanggil jika jumlah parameter dalam deklarasi metode sama dengan jumlah argumen dalam daftar argumen yang ditentukan, dan jenis setiap argumen dapat dikonversi oleh pengikat ke jenis parameter.
Pengikat akan menemukan semua metode yang cocok. Metode ini ditemukan berdasarkan jenis pengikatan yang diminta (BindingFlags.InvokeMethod, BindingFlags.GetProperties, dan sebagainya.). Kumpulan metode difilter berdasarkan nama, jumlah argumen, dan sekumpulan pengubah pencarian yang ditentukan dalam pengikat. Setelah metode dipilih, metode akan dipanggil. Aksesibilitas diperiksa pada saat itu. Pencarian dapat mengontrol set metode mana yang dicari berdasarkan atribut aksesibilitas yang terkait dengan metode . Metode IBinder.BindToMethod
ini bertanggung jawab untuk memilih metode yang akan dipanggil. Pengikat default memilih kecocokan yang paling spesifik.
Catatan
Pembatasan akses diabaikan untuk kode yang sepenuhnya tepercaya. Artinya, konstruktor privat, metode, bidang, dan properti dapat diakses dan dipanggil menggunakan Refleksi setiap kali kode sepenuhnya dipercaya.
Metode ini saat ini tidak didukung. Anda dapat mengambil jenis menggunakan Type.GetType atau Assembly.GetType dan menggunakan pantulan pada jenis yang diambil.