MethodHandles.Lookup.FindVarHandle(Class, String, Class) Método

Definición

Genera un varHandle que proporciona acceso a un campo name no estático de tipo type declarado en una clase de tipo recv.

[Android.Runtime.Register("findVarHandle", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;", "", ApiSince=33)]
public Java.Lang.Invoke.VarHandle FindVarHandle(Java.Lang.Class recv, string name, Java.Lang.Class type);
[<Android.Runtime.Register("findVarHandle", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;", "", ApiSince=33)>]
member this.FindVarHandle : Java.Lang.Class * string * Java.Lang.Class -> Java.Lang.Invoke.VarHandle

Parámetros

recv
Class

la clase receptora, de tipo R, que declara el campo no estático

name
String

el nombre del campo

type
Class

el tipo del campo, de tipo T

Devoluciones

varHandle que proporciona acceso a campos no estáticos.

Atributos

Comentarios

Genera un varHandle que proporciona acceso a un campo name no estático de tipo type declarado en una clase de tipo recv. El tipo de variable varHandle es type y tiene un tipo de coordenada, recv.

La comprobación de acceso se realiza inmediatamente en nombre de la clase de búsqueda.

Algunos modos de acceso del VarHandle devuelto no se admiten en las condiciones siguientes: <ul><li>si el campo se declara final, no se admite la escritura, la actualización atómica atómica, la actualización atómica numérica y los modos de acceso de actualización atómica bit a bit. <li>si el tipo de campo es distinto de byte, , short, intcharlong, , float, odouble, a continuación, los modos de acceso de actualización atómica numérica no son compatibles. <li>si el tipo de campo es distinto de boolean, , shortbyte, charolong, a continuación, int no se admiten los modos de acceso de actualización atómica bit a bit. </ul>

Si se declara volatile el campo, varHandle devuelto invalidará el acceso al campo (omite eficazmente la volatile declaración) de acuerdo con sus modos de acceso especificados.

Si el tipo de campo es float o double , a continuación, los modos numéricos y atómicos de acceso de actualización comparan los valores mediante su representación bit a bit (vea Float#floatToRawIntBits y Double#doubleToRawLongBits, respectivamente).

Agregado en 9.

Java documentación para java.lang.invoke.MethodHandles.Lookup.findVarHandle(java.lang.Class<?>, java.lang.String, java.lang.Class<?>).

Las partes de esta página son modificaciones basadas en el trabajo creado y compartido por el Android y se usan según los términos descritos en creative Creative Commons 2.5 Attribution License.

Se aplica a