MethodHandles.Lookup.UnreflectVarHandle(Field) 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 f reflejado de tipo T declarado en una clase de tipo R.
[Android.Runtime.Register("unreflectVarHandle", "(Ljava/lang/reflect/Field;)Ljava/lang/invoke/VarHandle;", "", ApiSince=33)]
public Java.Lang.Invoke.VarHandle UnreflectVarHandle(Java.Lang.Reflect.Field f);
[<Android.Runtime.Register("unreflectVarHandle", "(Ljava/lang/reflect/Field;)Ljava/lang/invoke/VarHandle;", "", ApiSince=33)>]
member this.UnreflectVarHandle : Java.Lang.Reflect.Field -> Java.Lang.Invoke.VarHandle
Parámetros
- f
- Field
el campo reflejado, con un campo de tipo Ty una clase declarando de tipo R
Devoluciones
varHandle que proporciona acceso a campos no estáticos o a un campo estático
- Atributos
Comentarios
Genera un varHandle que proporciona acceso a un campo f reflejado de tipo T declarado en una clase de tipo R. El tipo de variable VarHandle es T. Si el campo no es estático, VarHandle tiene un tipo de coordenada, R. De lo contrario, el campo es estático y VarHandle no tiene tipos de coordenadas.
La comprobación de acceso se realiza inmediatamente en nombre de la clase de búsqueda, independientemente del valor de la marca del accessible campo.
Si el campo es estático y si se opera varHandle devuelto, se inicializará la clase declarante del campo, si aún no se ha inicializado.
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 proyecto de código abierto de Android y se usan según los términos descritos en la licencia de atribución de Creative Commons 2.5.