MethodHandles.Invoker(MethodType) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erzeugt ein spezielles <Em>Invoker-Methodenhandle/em>, das verwendet werden kann, um ein beliebiges Methodenhandle< aufzurufen, das mit dem angegebenen Typ kompatibel ist, als wäre dies der FallMethodHandle#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
Parameter
- type
- MethodType
den gewünschten Zieltyp
Gibt zurück
ein Methodenhandle, das zum Aufrufen eines Methodenhandles geeignet ist, das in den angegebenen Typ wandelbar ist
- Attribute
Hinweise
Erzeugt ein spezielles <Em>Invoker-Methodenhandle/em>, das verwendet werden kann, um ein beliebiges Methodenhandle< aufzurufen, das mit dem angegebenen Typ kompatibel ist, als wäre dies der FallMethodHandle#invoke invoke. Der resultierende Aufrufer hat einen Typ, der exakt dem gewünschten Typ entspricht, mit der Ausnahme, dass er ein zusätzliches führendes Argument vom Typ MethodHandleakzeptiert.
Wenn sich das Ziel vom erwarteten Typ unterscheidet, wendet der Aufrufer nach Bedarf Referenz casts an, und box, unbox oder widen primitive Werte, wie durch MethodHandle#asType asType. Ebenso wird der Rückgabewert bei Bedarf konvertiert. Wenn das Ziel ein MethodHandle#asVarargsCollector variabler Arity-Methodenhandle ist, wird die erforderliche Arity-Konvertierung wie durch MethodHandle#asType asType.
Diese Methode entspricht dem folgenden Code (obwohl es möglicherweise effizienter ist): 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. Ein Aufrufer für einen solchen Typ kann beliebige Methodenhandle mit der gleichen Arität wie der allgemeine Typ aufrufen.
<em>(Hinweis: Die Invoker-Methode ist nicht über die Core Reflection-API verfügbar. Ein Versuch, java.lang.reflect.Method#invoke java.lang.reflect.Method.invoke für die deklarierte invokeExact oder invoke Methode aufzurufen, löst eine java.lang.UnsupportedOperationException UnsupportedOperationException.)</em>
Diese Methode löst keine reflektierenden oder Sicherheitseinnahmen aus.
Java Dokumentation für java.lang.invoke.MethodHandles.invoker(java.lang.invoke.MethodType).
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.