Binder.BindToMethod Yöntem

Tanım

Sağlanan bağımsız değişkenlere göre verilen yöntem kümesinden çağrılacak yöntemi seçer.

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

Parametreler

bindingAttr
BindingFlags

Değerlerin bit düzeyinde birleşimi BindingFlags .

match
MethodBase[]

Eşleştirme için aday olan yöntem kümesi. Örneğin, tarafından bir Binder nesne kullanıldığında InvokeMember, bu parametre yansımanın olası eşleşmeler olarak belirlediği yöntem kümesini belirtir, çünkü bunlar genellikle doğru üye adına sahiptir. tarafından DefaultBinder sağlanan varsayılan uygulama, bu dizinin sırasını değiştirir.

args
Object[]

geçirilen bağımsız değişkenler. Bağlayıcı, bu dizideki bağımsız değişkenlerin sırasını değiştirebilir; Örneğin, parametre konumsal düzen dışında bir sıra belirtmek için kullanılıyorsa, varsayılan bağlayıcı bağımsız değişkenlerin names sırasını değiştirir. Bağlayıcı uygulaması bağımsız değişken türlerini zorlamalıysa, bağımsız değişkenlerin türleri ve değerleri de değiştirilebilir.

modifiers
ParameterModifier[]

Bağlamanın, türlerin değiştirildiği parametre imzalarıyla çalışmasını sağlayan bir parametre değiştirici dizisi. Varsayılan bağlayıcı uygulaması bu parametreyi kullanmaz.

culture
CultureInfo

Bunun bir CultureInfo örneği, türleri zorlayan bağlayıcı uygulamalarında veri türlerinin zorlamasını denetlemek için kullanılır. ise culturenull, CultureInfo geçerli iş parçacığı için kullanılır.

names
String[]

Parametre adları, eşleşen parametre adları dikkate alınıyorsa veya null bağımsız değişkenler tamamen konumsal olarak değerlendirilecekse. Örneğin, bağımsız değişkenler konum sırasına göre sağlanmazsa parametre adları kullanılmalıdır.

state
Object

yöntemi döndürdüğünde, state bağımsız değişken yeniden sıralamasını izleyen bağlayıcı tarafından sağlanan bir nesne içerir. Bağlayıcı bu nesneyi oluşturur ve bağlayıcı bu nesnenin tek tüketicisidir. Döndürdüğünde değilse, örneğin parametrelerin ReorderArgumentArray(Object[], Object)ByRef (Visual Basic'teki parametreler) değerlerini alabilmeniz için özgün sırasına geri yüklemek args istiyorsanız yöntemine ref geçmeniz state gerekir.nullstateBindToMethod

Döndürülenler

Eşleşen yöntem.

Özel durumlar

Varsayılan bağlayıcı için, match için argseşit derecede iyi eşleşmeler olan birden çok yöntem içerir. Örneğin, args arabirimini IMyClass uygulayan bir MyClass nesnesi içerir ve match alan MyClass bir yöntemi ve alan IMyClassbir yöntemi içerir.

Varsayılan bağlayıcı için, match içinde argssağlanan bağımsız değişkenleri kabul eden hiçbir yöntem içermez.

Varsayılan bağlayıcı match için veya boş bir dizidir null .

Açıklamalar

Varsayılan bağlayıcı hem değerleri hem params de dizileri (ParamArray Visual Basic'teki diziler) olan parametreleri hesaba katıyor. Bu nedenle, aynı sayıda öğe içeren ve match içermeyen durumlarda args eşleşme bulmak mümkündür.

Bağlayıcı, bağımsız değişken dizisi tarafından BindToMethodişlendiyse istemcinin bağımsız değişken dizisini özgün biçimine geri eşlemesini sağlar. Bu tür bağımsız değişkenler mevcut olduğunda başvuru bağımsız değişkenlerini geri almak için bu yeniden eşleme özelliğini kullanın. Bağımsız değişkenleri ada göre geçirdiğinizde, bağlayıcı bağımsız değişken dizisini yeniden sıralar. state parametresi, bağımsız değişken yeniden sıralamasını izler ve böylece bağlayıcının ReorderArgumentArray yönteminin bağımsız değişken dizisini özgün biçimine göre yeniden sıralamasını sağlar.

BindToMethod yöntemi tarafından Type.InvokeMember kullanılır.

Bağlayıcı uygulaması dize değerlerini sayısal türlere zorlamaya izin veriyorsa, culture 1000'i temsil eden bir dizeyi bir Double değere dönüştürmek için parametresi gereklidir çünkü 1000 farklı kültürler tarafından farklı temsil edilir. Varsayılan bağlayıcı bu tür dize zorlamalarını yapmaz.

Şunlara uygulanır

Ayrıca bkz.