Binder.BindToMethod Metod

Definition

Väljer en metod som ska anropas från den angivna uppsättningen metoder baserat på de angivna argumenten.

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);
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

Parametrar

bindingAttr
BindingFlags

En bitvis kombination av BindingFlags värden.

match
MethodBase[]

Den uppsättning metoder som är kandidater för matchning. När ett Binder objekt till exempel används av InvokeMemberanger den här parametern den uppsättning metoder som reflektionen har fastställt vara möjliga matchningar, vanligtvis eftersom de har rätt medlemsnamn. Standardimplementeringen som tillhandahålls av DefaultBinder ändrar ordningen på den här matrisen.

args
Object[]

Argumenten som skickas in. Pärmen kan ändra ordningen på argumenten i den här matrisen. Till exempel ändrar standardbindaren argumentordningen om parametern names används för att ange en annan ordning än positionsordning. Om en bindemedelsimplementering tvingar fram argumenttyper kan även argumentens typer och värden ändras.

modifiers
ParameterModifier[]

En matris med parametermodifierare som gör att bindningen kan fungera med parametersignaturer där typerna har ändrats. Standardimplementeringen av bindemedel använder inte den här parametern.

culture
CultureInfo

En instans av CultureInfo detta används för att kontrollera tvånget av datatyper, i bindningsimplementeringar som tvingar typer. Om culture är nullCultureInfo används för den aktuella tråden.

names
String[]

Parameternamnen, om parameternamn ska beaktas vid matchning, eller null om argument ska behandlas som rent positionella. Parameternamn måste till exempel användas om argumenten inte anges i positionell ordning.

state
Object

När metoden har returnerats state innehåller det ett bindemedelsobjekt som håller reda på omordningen av argument. Bindemedlet skapar det här objektet och bindemedlet är den enda konsumenten av det här objektet. Om state inte är null när BindToMethod returnerar, du måste skicka state till metoden ReorderArgumentArray(Object[], Object) om du till exempel vill återställa args till dess ursprungliga ordning, så att du kan hämta värdena för parametrarna ref (ByRef parametrar i Visual Basic).

Returer

Matchningsmetoden.

Undantag

För standardbindningen match innehåller flera metoder som är lika bra matchningar för args. Innehåller till exempel args ett MyClass objekt som implementerar IMyClass gränssnittet och match innehåller en metod som tar MyClass och en metod som tar IMyClass.

För standardbindningen match innehåller inga metoder som kan acceptera argumenten som anges i args.

För standardbindningen match är null eller en tom matris.

Kommentarer

Standardbindningen tar hänsyn till båda parametrarna som har värden och params matriser (ParamArray matriser i Visual Basic). Därför är det möjligt att hitta en matchning i fall där args och match inte innehåller samma antal element.

Med pärmen kan en klient mappa tillbaka argumentmatrisen till sitt ursprungliga formulär om argumentmatrisen har manipulerats av BindToMethod. Använd den här ommappningsfunktionen för att få tillbaka argument med referens när sådana argument finns. När du skickar argument efter namn ordnar binder om argumentmatrisen. Parametern state håller reda på omordning av argument, vilket gör det möjligt för bindemedlets ReorderArgumentArray metod att ändra ordning på argumentmatrisen till dess ursprungliga formulär.

Metoden BindToMethod används av Type.InvokeMember metoden.

Om en bindemedelsimplementering tillåter tvång av strängvärden till numeriska typer är parametern culture nödvändig för att konvertera en sträng som representerar 1 000 till ett Double värde, eftersom 1 000 representeras på olika sätt av olika kulturer. Standardbindningen utför inte sådana strängtvång.

Gäller för

Se även