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í.