Sdílet prostřednictvím


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 například Binder objekt používá InvokeMember, určuje tento parametr sadu metod, které reflexe určila jako možné shody, obvykle proto, že mají správný název člena. Výchozí implementace poskytovaná nástrojem DefaultBinder 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; Například výchozí pořadač změní pořadí argumentů, pokud names se parametr používá k určení jiného pořadí než pořadí pozice. Pokud implementace pořadače vymáhá typy argumentů, lze změnit i 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 tento parametr nepoužívá.

culture
CultureInfo

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

names
String[]

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

state
Object

Po vrácení state metody obsahuje objekt zadaný pořadačem, který sleduje změnu pořadí argumentů. Pořadač vytvoří tento objekt a pořadač je jediným příjemcem tohoto objektu. Pokud state není null při BindToMethod vrácení, musíte state předat ReorderArgumentArray(Object[], Object) metodě, pokud chcete obnovit args původní pořadí, například, abyste mohli načíst hodnoty ref parametrů (ByRef parametry v jazyce Visual Basic).

Návraty

Odpovídající metoda.

Výjimky

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

Výchozí pořadač neobsahuje žádné metody, match které by mohly přijímat argumenty zadané v nástroji args.

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 params pole (ParamArray pole v jazyce 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í podoby, pokud bylo pole argumentů manipulováno pomocí BindToMethod. Tuto funkci přemapování použijte k získání argumentů podle odkazu, pokud jsou takové argumenty k dispozici. Když předáte argumenty podle názvu, pořadač změní pořadí pole argumentů. Parametr state sleduje změnu pořadí argumentů a umožňuje tak metodě pořadače ReorderArgumentArray změnit pořadí pole argumentů do původní podoby.

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 nutný k převodu řetězce, který představuje 1000 na Double hodnotu, protože 1000 je reprezentován různými jazykovými verzemi. Výchozí pořadač takové řetězcové donucování neprovádí.

Platí pro

Viz také