Binder.BindToMethod Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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í.