MethodHandles.Invoker(MethodType) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Produce un handle< di metodo em>invoker speciale</em> che può essere usato per richiamare qualsiasi handle di metodo compatibile con il tipo specificato, come se fosse 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
Parametri
- type
- MethodType
il tipo di destinazione desiderato
Valori restituiti
handle di metodo adatto per richiamare qualsiasi handle di metodo convertibile nel tipo specificato
- Attributi
Commenti
Produce un handle< di metodo em>invoker speciale</em> che può essere usato per richiamare qualsiasi handle di metodo compatibile con il tipo specificato, come se fosse MethodHandle#invoke invoke. Il invoker risultante avrà un tipo che è esattamente uguale al tipo desiderato, ad eccezione del fatto che accetterà un argomento iniziale aggiuntivo di tipo MethodHandle.
Prima di richiamare la destinazione, se la destinazione è diversa dal tipo previsto, il invoker applicherà i cast di riferimento in base alle esigenze e ai valori box, unbox o primitive di tipo widen, come se fosse MethodHandle#asType asType. Analogamente, il valore restituito verrà convertito in base alle esigenze. Se la destinazione è un metodo MethodHandle#asVarargsCollector, la conversione dell'arità richiesta verrà eseguita nuovamente come se fosse MethodHandle#asType asType.
Questo metodo equivale al codice seguente (anche se può essere più efficiente): publicLookup().findVirtual(MethodHandle.class, "invoke", type)
<em>Discussion:</em> A MethodType#genericMethodType general method type is one which mentions only Object arguments and return values. Un invoker per un tipo di questo tipo è in grado di chiamare qualsiasi handle di metodo della stessa arità del tipo generale.
<em>(Nota: il metodo invoker non è disponibile tramite l'API Reflection core. Un tentativo di chiamare java.lang.reflect.Method#invoke java.lang.reflect.Method.invoke nel metodo dichiarato invokeExact o invoke genererà un oggetto java.lang.UnsupportedOperationException UnsupportedOperationException.</em>
Questo metodo non genera eccezioni riflettenti o di sicurezza.
per java.lang.invoke.MethodHandles.invoker(java.lang.invoke.MethodType).
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.