Lingua

MethodHandles.Lookup.UnreflectSpecial(Method, Class) Metodo

Definizione

Produce un handle di metodo per un metodo riflesso.

[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

Parametri

m
Method

metodo riflesso

specialCaller
Class

la classe che chiama il metodo

Valori restituiti

handle di metodo che può richiamare il metodo riflesso

Attributi

Commenti

Produce un handle di metodo per un metodo riflesso. Ignora i controlli per l'override dei metodi nel ricevitore, come se chiamato da un'istruzione invokespecial dall'interno dell'oggetto specificato specialCallerin modo esplicito. Il tipo dell'handle del metodo sarà quello del metodo, con un tipo di ricevitore con restrizioni adeguato anteporto. Il tipo di ricevitore sarà specialCaller o un sottotipo. Se il flag del accessible metodo non è impostato, il controllo di accesso viene eseguito immediatamente per conto della classe di ricerca, come se invokespecial l'istruzione fosse collegata.

Prima della risoluzione del metodo, se la classe chiamante specificata in modo esplicito non è identica alla classe di ricerca o se questo oggetto di ricerca non dispone di privilegi di accesso privato, l'accesso non riesce.

L'handle del metodo restituito avrà la variabile MethodHandle#asVarargsCollector se e solo se è impostato il bit del modificatore di arità della variabile del metodo (0x0080).

per java.lang.invoke.MethodHandles.Lookup.unreflectSpecial(java.lang.reflect.Method, java.lang.Class<?>).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a