Binder.BindToMethod 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.
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.