Binder.BindToMethod Metoda

Definice

Vybere metodu, která se má vyvolat z dané sady metod na základě zadaných argumentů.

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

Parametry

bindingAttr
BindingFlags

Bitové kombinace BindingFlags hodnot.

match
MethodBase[]

Sada metod, které jsou kandidáty pro porovnávání. Pokud je například Binder objekt používán InvokeMember, tento parametr určuje sadu metod, které reflexe určila, že mohou být možné shody, obvykle proto, že mají správný název člena. Výchozí implementace, kterou DefaultBinder poskytuje, změní pořadí tohoto pole.

args
Object[]

Argumenty, které jsou předány. Pořadač může změnit pořadí argumentů v tomto poli; Výchozí pořadač například změní pořadí argumentů, pokud names je parametr použit k určení jiného pořadí než pořadí pozice. Pokud implementace pořadače převede typy argumentů, mohou být také změněny typy a hodnoty argumentů.

modifiers
ParameterModifier[]

Pole modifikátorů parametrů, které umožňují vazbu pracovat s podpisy parametrů, ve kterých byly typy změněny. Výchozí implementace pořadače nepoužívá tento parametr.

culture
CultureInfo

Instance CultureInfo , která se používá k řízení převodu datových typů v implementacích pořadače, které typy převodu. Pokud culture je null, použije se CultureInfo pro aktuální vlákno.

names
String[]

Názvy parametrů, pokud mají být názvy parametrů při porovnávání považovány za názvy parametrů nebo null pokud se argumenty mají považovat za čistě poziční. Například názvy parametrů se musí použít, pokud argumenty nejsou zadány v pořadí pozice.

state
Object

Jakmile metoda vrátí, state obsahuje binder zadaný objekt, který udržuje sledování pořadí argumentů. Pořadač vytvoří tento objekt a pořadač je jediným příjemcem tohoto objektu. Pokud není při , Pokud chcete obnovit do původního pořadí, je nutné předat metodě < /> <, abyste mohli načíst hodnoty parametrů ( parametry v Visual Basic).

Návraty

Odpovídající metoda.

Výjimky

Pro výchozí pořadač obsahuje match více metod, které jsou stejně dobré shody pro args. Například args obsahuje MyClass objekt, který implementuje IMyClass rozhraní, a match obsahuje metodu, která přebírá MyClass a metodu, která přebírá IMyClass.

Pro výchozí pořadač neobsahuje žádné metody, match které mohou přijmout argumenty zadané v args.

Pro výchozí pořadač match je null nebo prázdné pole.

Poznámky

Výchozí pořadač bere v úvahu oba parametry, které mají hodnoty a pole params (pole ParamArray v Visual Basic). Proto je možné najít shodu v případech, kdy args a match neobsahují stejný počet prvků.

Binder umožňuje klientovi namapovat pole argumentů zpět do původního tvaru, pokud bylo pole argumentů manipulováno BindToMethodpomocí . Pomocí této funkce pro přemapování můžete získat argumenty zpětného odkazu, pokud jsou tyto argumenty přítomné. Když předáte argumenty podle názvu, pořadač změní pořadí pole argumentů. Parametr state sleduje změny pořadí argumentů, takže metoda pořadače ReorderArgumentArray umožňuje změnit pořadí pole argumentů do původního formuláře.

Metoda BindToMethod je používána metodou Type.InvokeMember .

Pokud implementace pořadače umožňuje převod řetězcových hodnot na číselné typy, culture je parametr nezbytný k převodu řetězce, který představuje hodnotu 1000 na Double hodnotu, protože 1000 je reprezentován odlišně různými jazykovými verzemi. Výchozí pořadač takové převody řetězců nedělá.

Platí pro

Viz také