Binder.BindToMethod メソッド
指定されている一連のメソッドから、実引数に基づいて、呼び出すメソッドを選択します。
Public MustOverride Function BindToMethod( _
ByVal bindingAttr As BindingFlags, _ ByVal match() As MethodBase, _ ByRef args() As Object, _ ByVal modifiers() As ParameterModifier, _ ByVal culture As CultureInfo, _ ByVal names() As String, _ <Out()> ByRef state As Object _) As MethodBase
[C#]
public abstract MethodBase BindToMethod(BindingFlagsbindingAttr,MethodBase[] match, ref object[] args,ParameterModifier[] modifiers,CultureInfoculture,string[] names, out objectstate);
[C++]
public: virtual MethodBase* BindToMethod(BindingFlagsbindingAttr,MethodBase* match[],Object* args __gc[],ParameterModifiermodifiers[],CultureInfo* culture,String* names __gc[], [ Out] Object** state) = 0;
[JScript]
public abstract function BindToMethod(
bindingAttr : BindingFlags,match : MethodBase[],args : Object[],modifiers : ParameterModifier[],culture : CultureInfo,names : String[],state : Object) : MethodBase;
パラメータ
- bindingAttr
BindingFlags 列挙子の 1 つ。 - match
リフレクションが一致する可能性があると判断した一連のメソッド。通常、適切なメンバ名を持っているかどうかが判断基準になります。 - args
渡される実引数。引数の型と値の両方とも変更される可能性があります。 - modifiers
型が変更されているパラメータ シグネチャとでもバインディングが機能するようにするためのパラメータ修飾子の配列。 - culture
データ型の強制変換を制御するために使用する CultureInfo のインスタンス。culture が null 参照 (Visual Basic では Nothing) の場合は、現在のスレッドの CultureInfo が使用されます。
メモ たとえば、このパラメータでは、1000 を表す String を Double 値に変換して指定する必要があります。これは、カルチャによって 1000 の表記が異なるためです。
- names
メソッド名。 - state
引数の並べ替えを追跡するためにバインダが提供するオブジェクト。 state パラメータは、 BindToMethod に渡され、非透過オブジェクトを表す Cookie です。バインダはこのオブジェクトを作成し、そのバインダはこのオブジェクトの唯一のコンシューマです。 BindToMethod が戻るときに state が null 参照 (Visual Basic では Nothing) でない場合は、ラインタイムが ReorderArgumentArray を呼び出します。
戻り値
基準に一致するメソッドを保持している MethodBase オブジェクト。
解説
バインダを使用すると、引数配列が BindToMethod によって操作されている場合に、クライアントが引数の配列を元の形式に割り当てることができます。この再割り当て機能を使用して、参照渡しされる引数がある場合に、その引数を元に戻します。ただし、参照渡しによる引数を元に戻すには、使用した引数の順序が変化していないことが必要です。引数を名前で渡す場合は、バインダが引数配列を並べ替え、呼び出し元メソッドがそれを参照します。状態パラメータは引数の並べ替えを監視し続けるため、バインダが引数配列を元の形式に並べ替えることができます。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard
参照
Binder クラス | Binder メンバ | System.Reflection 名前空間 | MethodBase