Langage

MethodHandles.DropArguments Méthode

Définition

Surcharges

Nom Description
DropArguments(MethodHandle, Int32, Class[])

Produit un handle de méthode qui ignore certains arguments factices avant d’appeler un autre handle de méthode cible spécifié.

DropArguments(MethodHandle, Int32, IList<Class>)

Produit un handle de méthode qui ignore certains arguments d’espace réservé avant d’appeler un autre handle de méthode cible spécifié.

DropArguments(MethodHandle, Int32, Class[])

Produit un handle de méthode qui ignore certains arguments factices avant d’appeler un autre handle de méthode cible spécifié.

[Android.Runtime.Register("dropArguments", "(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)]
public static Java.Lang.Invoke.MethodHandle? DropArguments(Java.Lang.Invoke.MethodHandle? target, int pos, params Java.Lang.Class[]? valueTypes);
[<Android.Runtime.Register("dropArguments", "(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)>]
static member DropArguments : Java.Lang.Invoke.MethodHandle * int * Java.Lang.Class[] -> Java.Lang.Invoke.MethodHandle

Paramètres

target
MethodHandle

handle de méthode à appeler une fois les arguments supprimés

pos
Int32

position du premier argument à supprimer (zéro pour le plus à gauche)

valueTypes
Class[]

type(s) des arguments à supprimer

Retours

handle de méthode qui supprime les arguments des types donnés, avant d’appeler le handle de méthode d’origine

Attributs

Remarques

Java documentation pour java.lang.invoke.MethodHandles.dropArguments(java.lang.invoke.MethodHandle, int, java.lang.Class).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

S’applique à

DropArguments(MethodHandle, Int32, IList<Class>)

Produit un handle de méthode qui ignore certains arguments d’espace réservé avant d’appeler un autre handle de méthode cible spécifié.

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

Paramètres

target
MethodHandle

handle de méthode à appeler une fois les arguments supprimés

pos
Int32

position du premier argument à supprimer (zéro pour le plus à gauche)

valueTypes
IList<Class>

type(s) des arguments à supprimer

Retours

handle de méthode qui supprime les arguments des types donnés, avant d’appeler le handle de méthode d’origine

Attributs

Remarques

Produit un handle de méthode qui ignore certains arguments d’espace réservé avant d’appeler un autre handle de méthode cible spécifié. Le type du nouveau handle de méthode est identique au type de la cible, sauf qu’il inclut également les types d’arguments d’espace réservé, à une position donnée.

L’argument pos peut être compris entre zéro et N, où N est l’arité de la cible. S’il pos s’agit de zéro, les arguments d’espace réservé précèdent les arguments réels de la cible ; s’il pos s’agit de N , ils viennent après.

<b>Example :</b><blockquote>

{@code
            import static java.lang.invoke.MethodHandles.*;
            import static java.lang.invoke.MethodType.*;
            ...
            MethodHandle cat = lookup().findVirtual(String.class,
              "concat", methodType(String.class, String.class));
            assertEquals("xy", (String) cat.invokeExact("x", "y"));
            MethodType bigType = cat.type().insertParameterTypes(0, int.class, String.class);
            MethodHandle d0 = dropArguments(cat, 0, bigType.parameterList().subList(0,2));
            assertEquals(bigType, d0.type());
            assertEquals("yz", (String) d0.invokeExact(123, "x", "y", "z"));
            }

</blockquote>

Cette méthode équivaut également au code suivant : <blockquote>

{@link #dropArguments(MethodHandle,int,Class...) dropArguments}{@code (target, pos, valueTypes.toArray(new Class[0]))}

</blockquote>

Java documentation pour java.lang.invoke.MethodHandles.dropArguments(java.lang.invoke.MethodHandle, int, java.util.List<java.lang.Class<?>>).

Les parties de cette page sont des modifications basées sur le travail créé et partagé par Android Open Source et utilisées en fonction des termes décrits dans la Creative Commons 2.5 Attribution License.

S’applique à