MethodHandles.Lookup.FindVarHandle(Class, String, Class) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
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.