Lingua

MethodHandles.Lookup.UnreflectVarHandle(Field) Metodo

Definizione

Produce un valore VarHandle che concede l'accesso a un campo f riflesso di tipo T dichiarato in una classe di 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

Parametri

f
Field

campo riflesso, con un campo di tipo Te una classe dichiarante di tipo R

Valori restituiti

Un oggetto VarHandle che concede l'accesso a campi non statici o a un campo statico

Attributi

Commenti

Produce un valore VarHandle che concede l'accesso a un campo f riflesso di tipo T dichiarato in una classe di tipo R. Il tipo di variabile di VarHandle è T. Se il campo non è statico, VarHandle ha un tipo di coordinata, R. In caso contrario, il campo è statico e VarHandle non ha tipi di coordinate.

Il controllo di accesso viene eseguito immediatamente per conto della classe di ricerca, indipendentemente dal valore del flag del accessible campo.

Se il campo è statico e se l'oggetto VarHandle restituito viene gestito, la classe dichiarante del campo verrà inizializzata, se non è già stata inizializzata.

Alcune modalità di accesso dell'oggetto VarHandle restituito non sono supportate nelle condizioni seguenti: <ul><li>se il campo è dichiarato final, la scrittura, l'aggiornamento atomico, l'aggiornamento numerico e le modalità di accesso agli aggiornamenti atomici bit per bit non sono supportate. <li>se il tipo di campo è diverso da byte, short, charint, , long, floato double le modalità di accesso agli aggiornamenti atomici numerici non sono supportate. <li>se il tipo di campo è diverso da boolean, byte, short, charo intlong quindi le modalità di accesso agli aggiornamenti atomici bit per bit non sono supportate. </ul>

Se il campo viene dichiarato volatile , l'oggetto VarHandle restituito eseguirà l'override dell'accesso al campo (ignorando effettivamente la volatile dichiarazione) in base alle modalità di accesso specificate.

Se il tipo di campo è float o double quindi le modalità di accesso agli aggiornamenti numerici e atomiche confrontano i valori usando la relativa rappresentazione bit per bit (vedere Float#floatToRawIntBits rispettivamente e Double#doubleToRawLongBits).

Aggiunta in 9.

per java.lang.invoke.MethodHandles.Lookup.unreflectVarHandle(java.lang.reflect.Field).

Le parti di questa pagina sono modifiche basate sul lavoro creato e condiviso dalla e usati in base ai termini descritti in Creative License 2.5 Attribution License.

Si applica a