MethodHandles.Invoker(MethodType) 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.
Produit un handle</em de méthode d’appel em>> spécial <qui peut être utilisé pour appeler n’importe quel handle de méthode compatible avec le type donné, comme si par MethodHandle#invoke invoke.
[Android.Runtime.Register("invoker", "(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)]
public static Java.Lang.Invoke.MethodHandle? Invoker(Java.Lang.Invoke.MethodType? type);
[<Android.Runtime.Register("invoker", "(Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)>]
static member Invoker : Java.Lang.Invoke.MethodType -> Java.Lang.Invoke.MethodHandle
Paramètres
- type
- MethodType
type cible souhaité
Retours
un handle de méthode adapté à l’appel d’un handle de méthode convertible en type donné
- Attributs
Remarques
Produit un handle</em de méthode d’appel em>> spécial <qui peut être utilisé pour appeler n’importe quel handle de méthode compatible avec le type donné, comme si par MethodHandle#invoke invoke. L’appelant résultant aura un type qui est exactement égal au type souhaité, sauf qu’il acceptera un argument de début supplémentaire de type MethodHandle.
Avant d’appeler sa cible, si la cible diffère du type attendu, l’appelant applique des casts de référence selon les besoins et la zone, unbox ou les valeurs primitives larges, comme si c’était le MethodHandle#asType asTypecas. De même, la valeur de retour est convertie si nécessaire. Si la cible est un handle de méthode arity de variable MethodHandle#asVarargsCollector, la conversion d’arité requise est effectuée, à nouveau comme si .MethodHandle#asType asType
Cette méthode équivaut au code suivant (bien qu’elle soit plus efficace) : publicLookup().findVirtual(MethodHandle.class, "invoke", type)
<em>Discussion :</em> A MethodType#genericMethodType type de méthode générale est un qui mentionne uniquement Object les arguments et les valeurs de retour. Un appelant pour un tel type est capable d’appeler n’importe quel handle de méthode de la même arité que le type général.
<em>(Remarque : La méthode de l’appelant n’est pas disponible via l’API Core Reflection. Une tentative d’appel de java.lang.reflect.Method#invoke java.lang.reflect.Method.invoke sur la méthode déclarée invokeExactinvoke déclenche un java.lang.UnsupportedOperationException UnsupportedOperationException.)</em>
Cette méthode ne lève aucune exception de réflexion ou de sécurité.
Java documentation pour java.lang.invoke.MethodHandles.invoker(java.lang.invoke.MethodType).
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.