MethodHandles.Lookup.UnreflectVarHandle(Field) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.
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.