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