Bagikan melalui


Binder.BindToMethod Metode

Definisi

Memilih metode yang akan dipanggil dari set metode yang diberikan, berdasarkan argumen yang disediakan.

public:
 abstract System::Reflection::MethodBase ^ BindToMethod(System::Reflection::BindingFlags bindingAttr, cli::array <System::Reflection::MethodBase ^> ^ match, cli::array <System::Object ^> ^ % args, cli::array <System::Reflection::ParameterModifier> ^ modifiers, System::Globalization::CultureInfo ^ culture, cli::array <System::String ^> ^ names, [Runtime::InteropServices::Out] System::Object ^ % state);
public abstract System.Reflection.MethodBase BindToMethod (System.Reflection.BindingFlags bindingAttr, System.Reflection.MethodBase[] match, ref object?[] args, System.Reflection.ParameterModifier[]? modifiers, System.Globalization.CultureInfo? culture, string[]? names, out object? state);
public abstract System.Reflection.MethodBase BindToMethod (System.Reflection.BindingFlags bindingAttr, System.Reflection.MethodBase[] match, ref object[] args, System.Reflection.ParameterModifier[] modifiers, System.Globalization.CultureInfo culture, string[] names, out object state);
abstract member BindToMethod : System.Reflection.BindingFlags * System.Reflection.MethodBase[] * Object[] * System.Reflection.ParameterModifier[] * System.Globalization.CultureInfo * string[] * obj -> System.Reflection.MethodBase
Public MustOverride Function BindToMethod (bindingAttr As BindingFlags, match As MethodBase(), ByRef args As Object(), modifiers As ParameterModifier(), culture As CultureInfo, names As String(), ByRef state As Object) As MethodBase

Parameter

bindingAttr
BindingFlags

Kombinasi BindingFlags nilai bitwise.

match
MethodBase[]

Sekumpulan metode yang merupakan kandidat untuk pencocokan. Misalnya, ketika Binder objek digunakan oleh InvokeMember, parameter ini menentukan serangkaian metode yang refleksi telah menentukan kemungkinan kecocokan, biasanya karena mereka memiliki nama anggota yang benar. Implementasi default yang disediakan oleh DefaultBinder mengubah urutan array ini.

args
Object[]

Argumen yang diteruskan. Pengikat dapat mengubah urutan argumen dalam array ini; misalnya, pengikat default mengubah urutan argumen jika names parameter digunakan untuk menentukan urutan selain urutan posisi. Jika implementasi pengikat memaksa jenis argumen, jenis dan nilai argumen juga dapat diubah.

modifiers
ParameterModifier[]

Array pengubah parameter yang memungkinkan pengikatan untuk bekerja dengan tanda tangan parameter tempat jenis telah dimodifikasi. Implementasi pengikat default tidak menggunakan parameter ini.

culture
CultureInfo

Instans CultureInfo yang digunakan untuk mengontrol paksaan jenis data, dalam implementasi pengikat yang memaksa jenis. Jika culture adalah null, CultureInfo untuk utas saat ini digunakan.

names
String[]

Nama parameter, jika nama parameter harus dipertimbangkan saat mencocokkan, atau null jika argumen akan diperlakukan sebagai posisi murni. Misalnya, nama parameter harus digunakan jika argumen tidak disediakan dalam urutan posisi.

state
Object

Setelah metode kembali, state berisi objek yang disediakan binder yang melacak pengulangan argumen. Pengikat membuat objek ini, dan pengikat adalah konsumen satu-satunya dari objek ini. Jika state tidak null ketika BindToMethod kembali, Anda harus meneruskan state ke ReorderArgumentArray(Object[], Object) metode jika Anda ingin memulihkan args ke urutan aslinya, misalnya, sehingga Anda dapat mengambil nilai ref parameter (ByRef parameter di Visual Basic).

Mengembalikan

Metode pencocokan.

Pengecualian

Untuk pengikat default, match berisi beberapa metode yang sama-sama cocok untuk args. Misalnya, args berisi MyClass objek yang mengimplementasikan IMyClass antarmuka, dan match berisi metode yang mengambil MyClass dan metode yang mengambil IMyClass.

Untuk pengikat default, match tidak berisi metode yang dapat menerima argumen yang disediakan dalam args.

Untuk pengikat default, match adalah null atau array kosong.

Keterangan

Pengikat default memperhitungkan kedua parameter yang memiliki nilai dan params array (ParamArray array di Visual Basic). Dengan demikian, dimungkinkan untuk menemukan kecocokan dalam kasus di mana args dan match tidak berisi jumlah elemen yang sama.

Pengikat memungkinkan klien untuk memetakan array argumen kembali ke bentuk aslinya jika array argumen telah dimanipulasi oleh BindToMethod. Gunakan kemampuan remap ini untuk mendapatkan kembali argumen by-reference ketika argumen tersebut ada. Saat Anda meneruskan argumen menurut nama, pengikat menyusun ulang array argumen. Parameter state melacak pengulangan argumen, sehingga memungkinkan metode pengikat ReorderArgumentArray untuk menyusun ulang array argumen ke bentuk aslinya.

Metode BindToMethod ini digunakan oleh Type.InvokeMember metode .

Jika implementasi pengikat memungkinkan paksaan nilai string ke jenis numerik, culture parameter diperlukan untuk mengonversi string yang mewakili 1000 menjadi Double nilai, karena 1000 diwakili secara berbeda oleh budaya yang berbeda. Pengikat default tidak melakukan paksaan string tersebut.

Berlaku untuk

Lihat juga