MethodHandles.Lookup.UnreflectSpecial(Method, Class) 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 de méthode pour une méthode réfléchie.
[Android.Runtime.Register("unreflectSpecial", "(Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)]
public Java.Lang.Invoke.MethodHandle UnreflectSpecial(Java.Lang.Reflect.Method m, Java.Lang.Class specialCaller);
[<Android.Runtime.Register("unreflectSpecial", "(Ljava/lang/reflect/Method;Ljava/lang/Class;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=26)>]
member this.UnreflectSpecial : Java.Lang.Reflect.Method * Java.Lang.Class -> Java.Lang.Invoke.MethodHandle
Paramètres
- m
- Method
la méthode réfléchie
- specialCaller
- Class
la classe appelant nominalement la méthode
Retours
handle de méthode qui peut appeler la méthode réfléchie
- Attributs
Remarques
Produit un handle de méthode pour une méthode réfléchie. Il ignore les méthodes de substitution sur le récepteur, comme s’il est appelé à partir d’une invokespecial instruction à partir de l’instruction spécifiée specialCallerexplicitement. Le type du handle de méthode est celui de la méthode, avec un type de récepteur convenablement restreint précédé. (Le type de récepteur sera specialCaller ou un sous-type.) Si l’indicateur de accessible la méthode n’est pas défini, la vérification d’accès est effectuée immédiatement au nom de la classe de recherche, comme si invokespecial l’instruction était liée.
Avant la résolution de méthode, si la classe d’appelant spécifiée explicitement n’est pas identique à la classe de recherche, ou si cet objet de recherche n’a pas de privilèges d’accès privé, l’accès échoue.
Le handle de méthode retourné a MethodHandle#asVarargsCollector variable arity if and only if the variable arity modificateur bit () is0x0080 set.
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.