MethodHandles.Lookup.FindVarHandle(Class, String, Class) Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Erzeugt ein VarHandle, das Zugriff auf ein nicht statisches Feld name vom Typ type gibt, das in einer Klasse des Typs recvdeklariert ist.
[Android.Runtime.Register("findVarHandle", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;", "", ApiSince=33)]
public Java.Lang.Invoke.VarHandle FindVarHandle(Java.Lang.Class recv, string name, Java.Lang.Class type);
[<Android.Runtime.Register("findVarHandle", "(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;", "", ApiSince=33)>]
member this.FindVarHandle : Java.Lang.Class * string * Java.Lang.Class -> Java.Lang.Invoke.VarHandle
Parameter
- recv
- Class
die Empfängerklasse vom Typ R, die das nicht statische Feld deklariert
- name
- String
Name des Felds
- type
- Class
typ des Felds T
Gibt zurück
ein VarHandle, das Zugriff auf nicht statische Felder ermöglicht.
- Attribute
Hinweise
Erzeugt ein VarHandle, das Zugriff auf ein nicht statisches Feld name vom Typ type gibt, das in einer Klasse des Typs recvdeklariert ist. Der Variablentyp von VarHandle ist type und hat einen Koordinatentyp. recv
Die Zugriffsüberprüfung wird sofort im Auftrag der Nachschlageklasse ausgeführt.
Bestimmte Zugriffsmodi der zurückgegebenen VarHandle werden unter den folgenden Bedingungen nicht unterstützt: <ul<>li>, wenn das Feld deklariert finalwird, werden schreib-, atomische Aktualisierungs-, numerische Atomaktualisierungs- und bitweise Atomaktualisierungsmodi nicht unterstützt.
<li>, wenn der Feldtyp etwas anderes ist als byte, , short, , char, int, long, , floatoder double dann werden numerische Atomaktualisierungszugriffsmodi nicht unterstützt.
<li>, wenn der Feldtyp etwas anderes ist als boolean, , byte, short, charoder intlong dann bitweise Atomaktualisierungs-Zugriffsmodi werden nicht unterstützt.
</ul>
Wenn das Feld deklariert volatile wird, überschreibt varHandle den Zugriff auf das Feld (effektiv ignorieren die volatile Deklaration) gemäß den angegebenen Zugriffsmodi.
Wenn es sich bei dem Feldtyp float um numerische und atomische Zugriffsmodi handelt, double vergleichen Sie Werte mit der bitweisen Darstellung (siehe Float#floatToRawIntBits bzw Double#doubleToRawLongBits.
Hinzugefügt in 9.
Teile dieser Seite sind Änderungen auf der Grundlage von Arbeiten, die von der Android Open Source Project erstellt und gemeinsam verwendet und gemäß den in der 2.5 Attribution License beschriebenen Begriffen verwendet werden.