Lenguaje

MethodHandles.VarHandleInvoker(VarHandle+AccessMode, MethodType) Método

Definición

Genera un identificador de método de invocador especial que se puede usar para invocar un método de modo de acceso polimórfico de firma en cualquier VarHandle cuyo tipo de modo de acceso asociado sea compatible con el tipo especificado.

[Android.Runtime.Register("varHandleInvoker", "(Ljava/lang/invoke/VarHandle$AccessMode;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=33)]
public static Java.Lang.Invoke.MethodHandle? VarHandleInvoker(Java.Lang.Invoke.VarHandle.AccessMode? accessMode, Java.Lang.Invoke.MethodType? type);
[<Android.Runtime.Register("varHandleInvoker", "(Ljava/lang/invoke/VarHandle$AccessMode;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;", "", ApiSince=33)>]
static member VarHandleInvoker : Java.Lang.Invoke.VarHandle.AccessMode * Java.Lang.Invoke.MethodType -> Java.Lang.Invoke.MethodHandle

Parámetros

accessMode
VarHandle.AccessMode

el modo de acceso VarHandle

type
MethodType

el tipo de destino deseado

Devoluciones

un identificador de método adecuado para invocar un método de modo de acceso de cualquier VarHandle cuyo tipo de modo de acceso se puede convertir al tipo especificado.

Atributos

Comentarios

Genera un identificador de método de invocador especial que se puede usar para invocar un método de modo de acceso polimórfico de firma en cualquier VarHandle cuyo tipo de modo de acceso asociado sea compatible con el tipo especificado. El invocador resultante tendrá un tipo que es exactamente igual al tipo especificado deseado, salvo que aceptará un argumento inicial adicional del tipo VarHandle. Antes de invocar su destino, si el tipo de modo de acceso difiere del tipo especificado deseado, el invocador aplicará conversiones de referencia según sea necesario y los valores primitivos de cuadro, unbox o widen, como si fuera asType. Del mismo modo, el valor devuelto se convertirá según sea necesario. Este método es equivalente al código siguiente (aunque puede ser más eficaz): publicLookup().findVirtual(VarHandle.class, accessMode.name(), type)

referencia Java referencia para java.lang.invoke.MethodHandles.varHandleInvoker.

Se aplica a