Freigeben über


MethodHandles.DropArgumentsToMatch Methode

Definition

Passt ein Zielmethodenhandle an die angegebene Parametertypliste an.

[Android.Runtime.Register("dropArgumentsToMatch", "(Ljava/lang/invoke/MethodHandle;ILjava/util/List;I)Ljava/lang/invoke/MethodHandle;", "", ApiSince=33)]
public static Java.Lang.Invoke.MethodHandle? DropArgumentsToMatch (Java.Lang.Invoke.MethodHandle? target, int skip, System.Collections.Generic.IList<Java.Lang.Class>? newTypes, int pos);
[<Android.Runtime.Register("dropArgumentsToMatch", "(Ljava/lang/invoke/MethodHandle;ILjava/util/List;I)Ljava/lang/invoke/MethodHandle;", "", ApiSince=33)>]
static member DropArgumentsToMatch : Java.Lang.Invoke.MethodHandle * int * System.Collections.Generic.IList<Java.Lang.Class> * int -> Java.Lang.Invoke.MethodHandle

Parameter

target
MethodHandle

das Methodenhandle, das angepasst werden soll

skip
Int32

Anzahl der zu ignorierenden Zielparameter (sie bleiben unverändert)

newTypes
IList<Class>

die Liste der Typen, die mit der Parametertypliste übereinstimmen targetsollen

pos
Int32

Stelle, an newTypes der die nicht übersprungenen Zielparameter auftreten müssen

Gibt zurück

ein ggf. angepasster Methodenhandle

Attribute

Hinweise

Passt ein Zielmethodenhandle an die angegebene Parametertypliste an. Fügen Sie bei Bedarf Platzhalterargumente hinzu. Einige führende Parameter können übersprungen werden, bevor der Abgleich beginnt. Die verbleibenden Typen in der targetParametertypliste müssen eine Unterliste der newTypes Typliste an der Anfangsposition possein. Das resultierende Handle weist die Parametertypliste des Zielhandles auf, wobei alle nicht übereinstimmenden Parametertypen (vor oder nach der übereinstimmenden Unterliste) an entsprechenden Positionen der ursprünglichen Parameter des Ziels eingefügt werden, wie durch #dropArguments(MethodHandle, int, Class[]).

Das resultierende Handle hat den gleichen Rückgabetyp wie der Zielhandle.

In formelleren Ausdrücken gehen Sie davon aus, dass diese beiden Typlisten:<ul<>Li>Das Zielhandle hat die Parametertypliste S..., M...mit so vielen Typen wie S angegeben.skip Die M Typen sind diejenigen, die mit einem Teil der angegebenen Typliste übereinstimmen sollen. newTypes <li>Die newTypes Liste enthält Typen P..., M..., A..., mit so vielen Typen wie P angegeben durch pos. Die M Typen sind genau diejenigen, mit denen die M Typen in der Parametertypliste des Zielhandle übereinstimmen sollen. Die Typen in A sind zusätzliche Typen, die nach der übereinstimmenden Unterliste gefunden werden. </ul> Bei diesen Annahmen hat das Ergebnis eines Aufrufs von dropArgumentsToMatch "Parametertypliste" die ParametertyplisteS..., P..., M..., A..., wobei die und A die P Typen eingefügt werden, als ob durch #dropArguments(MethodHandle, int, Class[]).

Hinzugefügt in 9.

Java-Dokumentation für java.lang.invoke.MethodHandles.dropArgumentsToMatch(java.lang.invoke.MethodHandle, int, java.util.List<java.lang.Class<?>>, int).

Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die vom Android Open Source-Projekt erstellt und freigegeben werden und gemäß den in der Creative Commons 2.5 Attribution License beschriebenen Begriffen verwendet werden.

Gilt für: