MethodHandles.Lookup.FindVarHandle(Class, String, Class) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
recv型のクラスで宣言type型の非静的フィールドnameへのアクセスを許可する VarHandle を生成します。
[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
パラメーター
- recv
- Class
非静的フィールドを宣言する R型の受信側クラス
- name
- String
フィールドの名前
- type
- Class
フィールドの型 (型) T
返品
非静的フィールドへのアクセスを許可する VarHandle。
- 属性
注釈
recv型のクラスで宣言type型の非静的フィールドnameへのアクセスを許可する VarHandle を生成します。 VarHandle の変数型は type であり、1 つの座標型 ( recv) を持ちます。
アクセス チェックは、参照クラスの代わりに直ちに実行されます。
返される VarHandle の特定のアクセス モードは、 <ul><li>フィールドが final宣言されている場合、書き込み、アトミック更新、数値アトミック更新、ビットごとのアトミック更新アクセス モードはサポートされません。
<li>フィールドの種類が byte、 short、 char、 int、 long、 float、または double 以外の場合、数値アトミック更新アクセス モードはサポートされません。
<li>フィールドの種類が boolean、 byte、 short、 char、 int 、または long 以外の場合、ビットごとのアトミック更新アクセス モードはサポートされません。
</ul>
フィールドが volatile 宣言されている場合、返された VarHandle は、指定されたアクセス モードに従ってフィールドへのアクセスをオーバーライドします (実質的に volatile 宣言は無視されます)。
フィールド型が float または double の場合、数値およびアトミック更新アクセス モードはビットごとの表現を使用して値を比較します (それぞれ Float#floatToRawIntBits と Double#doubleToRawLongBitsを参照)。
9 に追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。