Binder.BindToMethod Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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 culture
null
, 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.null
state
BindToMethod
Döndürülenler
Eşleşen yöntem.
Özel durumlar
Varsayılan bağlayıcı için, match
için args
eş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 IMyClass
bir yöntemi içerir.
Varsayılan bağlayıcı için, match
içinde args
sağ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.