MethodHandles.Lookup.UnreflectVarHandle(Field) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
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.