MethodHandles.DropArguments Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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
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)
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>
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.