言語

IJavaPeerable インターフェイス

定義

Java オブジェクト インスタンスの使用のサポート。

public interface IJavaPeerable : IDisposable
type IJavaPeerable = interface
    interface IDisposable
派生
実装

注釈

IJavaPeerable インターフェイスは、Java オブジェクト インスタンスへのアクセス、そのJava インスタンスでのメンバーの呼び出し、そのオブジェクト インスタンスの有効期間の制御、ラッパーが破棄または終了されるタイミングのコールバックを提供します。 次の操作が許可されます。

  • オブジェクト インスタンスへのアクセスは、 PeerReference プロパティを使用して使用できます。 :
  • メンバーのアクセスと呼び出しは、 JniPeerMembers プロパティを使用して使用できます。 :
  • Java.Interop.IJavaPeerable.DisposeメソッドとDisposeUnlessReferenced() メソッドを使用したオブジェクトの有効期間制御。 :
  • 値の表示は、 Java.Interop.IJavaPeerable.DisposeUnlessRegisteredによって制御されます。 :
  • Disposed()メソッドとFinalized() メソッドを使用した破棄コールバックと最終処理コールバック。 :
<ブロック subset="none" タイプ="note">

このインターフェイスは実装しないでください。

このインターフェイスの実装は、Java VM のPeerReferenceに対応するdefault(JniObjectReference)以外の値を返すnull実装がないと役に立ちません。 これは可能ですが、頻繁には実行されず、Javaからの "予期しない" NullPointerException エラーが発生します。 さらに、 PeerReferenceを実装できる場合でも、実装がガベージ コレクターに収まらないため、メモリ リークまたは値をクリーンアップするための追加の作業が発生します。

</ブロック>

プロパティ

名前 説明
JniIdentityHashCode

ラップされたインスタンスの java.lang.System.identityHashCode() の値を返します。

JniManagedPeerState

マネージド ピアの状態。

JniObjectReferenceControlBlock

Java オブジェクト インスタンスの使用のサポート。

JniPeerMembers

メンバー アクセスと呼び出しのサポート。

PeerReference

ラップされたJava オブジェクト インスタンスのJniObjectReferenceを返します。

メソッド

名前 説明
Disposed()

インスタンスが破棄されたときに呼び出されます。

DisposeUnlessReferenced()

このインスタンスへの未処理の参照がない場合は、 Dispose()を呼び出します。それ以外の場合は何も実行しません。

Finalized()

インスタンスが終了したときに呼び出されます。

SetJniIdentityHashCode(Int32)

JniIdentityHashCodeによって返される値を設定します。

SetJniManagedPeerState(JniManagedPeerStates)

Java オブジェクト インスタンスの使用のサポート。

SetPeerReference(JniObjectReference)

PeerReferenceによって返される値を設定します。

UnregisterFromRuntime()

ランタイムが将来の Java.Interop.JniRuntime+JniValueManager.PeekValue 呼び出しから返されないように、このインスタンスの登録を解除します。

拡張メソッド

名前 説明
GetJniTypeName(IJavaPeerable)

インスタンス selfの型の JNI 名を取得します。

JavaAs<TResult>(IJavaPeerable)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

TryJavaCast<TResult>(IJavaPeerable, TResult)

selfを強制的にTResult入力し、強制型がJava側で有効であることを確認します。

適用対象