MethodHandles.Lookup.UnreflectVarHandle(Field) メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
R型のクラスで宣言T型の反映フィールド fへのアクセスを許可する VarHandle を生成します。
[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
パラメーター
- f
- Field
T型のフィールドと型の宣言クラスを持つ、反映されたフィールドR
返品
非静的フィールドまたは静的フィールドへのアクセスを許可する VarHandle
- 属性
注釈
R型のクラスで宣言T型の反映フィールド fへのアクセスを許可する VarHandle を生成します。 VarHandle の変数型は T。 フィールドが静的でない場合、VarHandle には 1 つの座標型 R。 それ以外の場合、フィールドは静的であり、VarHandle には座標型がありません。
フィールドの accessible フラグの値に関係なく、ルックアップ クラスの代わりにアクセス チェックが直ちに実行されます。
フィールドが静的で、返された VarHandle が操作されている場合、フィールドの宣言クラスがまだ初期化されていない場合は初期化されます。
返される 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 に追加されました。
このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。