Binder.BindToMethod Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Wählt eine aufzurufende Methode anhand der bereitgestellten Argumente aus der angegebenen Gruppe von Methoden aus.
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
Eine bitweise Kombination von BindingFlags-Werten.
- match
- MethodBase[]
Die Reihe der Methoden, die Kandidaten für Übereinstimmungen sind. Wenn beispielsweise ein Binder-Objekt von InvokeMember verwendet wird, gibt dieser Parameter die Reihe von Methoden an, die von der Reflektion als mögliche Übereinstimmungen bestimmt wurden, typischerweise weil sie den entsprechenden Membernamen aufweisen. Die von DefaultBinder bereitgestellte Standardimplementierung ändert die Reihenfolge dieses Arrays.
- args
- Object[]
Die übergebenen Argumente. Der Binder kann die Reihenfolge der Argumente in diesem Array ändern. Der Standardbinder ändert beispielsweise die Reihenfolge der Argumente, wenn mit dem names
-Parameter eine andere Reihenfolge als eine positionelle Reihenfolge angegeben wird. Wenn eine Binderimplementierung Argumenttypen umwandelt, können auch die Typen und Werte der Argumente geändert werden.
- modifiers
- ParameterModifier[]
Ein Array von Parametermodifizierern, die bei Bindungen die Verwendung von Parametersignaturen ermöglichen, in denen die Typen geändert wurden. Dieser Parameter wird von der Standardbinderimplementierung nicht verwendet.
- culture
- CultureInfo
Eine Instanz von CultureInfo, mit der in Binderimplementierungen mit Typumwandlungen die Umwandlung von Datentypen gesteuert wird. Wenn culture
den Wert null
hat, wird die CultureInfo des aktuellen Threads verwendet.
- names
- String[]
Die Parameternamen, wenn Parameternamen bei Zuordnungen berücksichtigt werden müssen, oder null
, wenn Argumente als rein positionell behandelt werden müssen. Parameternamen müssen beispielsweise verwendet werden, wenn Argumente nicht in positioneller Reihenfolge angegeben sind.
- state
- Object
Nach der Rückgabe der Methode enthält state
ein vom Binder bereitgestelltes Objekt, das die Änderung der Reihenfolge von Argumenten verfolgt. Der Binder erstellt dieses Objekt und ist der einzige Consumer dieses Objekts. Wenn state
bei der Rückgabe von null
nicht BindToMethod
ist, müssen Sie state
an die ReorderArgumentArray(Object[], Object)-Methode übergeben, wenn Sie args
mit der ursprünglichen Reihenfolge wiederherstellen möchten, damit Sie beispielsweise die Werte von ref
-Parametern (ByRef
-Parametern in Visual Basic) abrufen können.
Gibt zurück
Die entsprechende Methode.
Ausnahmen
Für den Standardbinder enthält match
mehrere Methoden, die gleichwertige Übereinstimmungen für args
darstellen. args
enthält beispielsweise ein MyClass
-Objekt, das die IMyClass
-Schnittstelle implementiert, und match
enthält eine Methode, die MyClass
annimmt, sowie eine Methode, die IMyClass
annimmt.
Für den Standardbinder enthält match
keine Methoden, die die in args
bereitgestellten Argumente annehmen können.
Für den Standardbinder ist match
gleich null
oder ein leeres Array.
Hinweise
Der Standardordner berücksichtigt beide Parameter mit Werten und params
Arrays (ParamArray
Arrays in Visual Basic). Daher ist es möglich, eine Übereinstimmung in Fällen zu finden, in denen args
die gleiche Anzahl von Elementen nicht enthalten ist match
.
Mit dem Ordner kann ein Client das Array von Argumenten wieder seinem ursprünglichen Formular zuordnen, wenn das Argumentarray von BindToMethodbearbeitet wurde. Verwenden Sie diese Neuzuordnungsfunktion, um Nachverweisargumente zurückzuholen, wenn solche Argumente vorhanden sind. Wenn Sie Argumente nach Namen übergeben, wird der Ordner das Argumentarray neu anordnen. Der state
Parameter verfolgt die Neuanordnung des Arguments, wodurch die Methode des Ordners ReorderArgumentArray die Neuanordnung des Argumentarrays in sein ursprüngliches Formular ermöglicht.
Die BindToMethod Methode wird von der Type.InvokeMember Methode verwendet.
Wenn eine Binderimplementierung die Koercion von Zeichenfolgenwerten zu numerischen Typen zulässt, ist der culture
Parameter erforderlich, um eine Zeichenfolge zu konvertieren, die 1000 in einen Double Wert darstellt, da 1000 unterschiedlich durch verschiedene Kulturen dargestellt wird. Der Standardbinder führt keine solchen Zeichenfolgenumwandlungen aus.