Idioma

MethodHandles.Lookup.UnreflectVarHandle(Field) Método

Definição

Produz um VarHandle que dá acesso a um campo f refletido de tipo T declarado em uma classe 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

o campo refletido, com um campo de tipo Te uma classe de tipo de declaração R

Retornos

um VarHandle que dá acesso a campos não estáticos ou a um campo estático

Atributos

Comentários

Produz um VarHandle que dá acesso a um campo f refletido de tipo T declarado em uma classe de tipo R. O tipo de variável do VarHandle é T. Se o campo não for estático, o VarHandle terá um tipo de coordenada. R Caso contrário, o campo é estático e o VarHandle não tem tipos de coordenadas.

A verificação de acesso é executada imediatamente em nome da classe de pesquisa, independentemente do valor do sinalizador do accessible campo.

Se o campo for estático e se o VarHandle retornado for operado, a classe de declaração do campo será inicializada, se ainda não tiver sido inicializada.

Determinados modos de acesso do VarHandle retornado não são suportados sob as seguintes condições: <ul><li>se o campo for declarado final, a gravação, a atualização atômica, a atualização atômica numérica e os modos de acesso de atualização atômica bit a bit não são suportados. <li>se o tipo de campo for algo diferente bytede , , short, char, int, long, floatou double então modos de acesso de atualização atômica numérica não são suportados. <li>se o tipo de campo é algo diferente booleande , , byte, shortoulong, em seguida, charint modos de acesso de atualização atômica bit a bit não são suportados. </ul>

Se o campo for declarado volatile , o VarHandle retornado substituirá o acesso ao campo (ignore efetivamente a volatile declaração) de acordo com seus modos de acesso especificados.

Se o tipo de campo for float ou double , em seguida, os modos de acesso de atualização numérica e atômica compararem valores usando a representação bit a bit (veja Float#floatToRawIntBits e Double#doubleToRawLongBits, respectivamente).

Adicionado em 9.

Java documentação para java.lang.invoke.MethodHandles.Lookup.unreflectVarHandle(java.lang.reflect.Field).

Partes desta página são modificações baseadas no trabalho criado e compartilhado pelo Project Open Source do Open Source e usadas de acordo com os termos descritos na Creative Commons 2.5.

Aplica-se a