IJavaPeerable 接口

定义

支持使用Java对象实例。

public interface IJavaPeerable : IDisposable
type IJavaPeerable = interface
    interface IDisposable
派生
实现

注解

IJavaPeerable接口提供对Java对象实例的访问权限、调用该Java实例上的成员、控制该对象实例的生存期,以及包装器被释放或终结时的回调。 允许以下操作:

<block subset=“none” type=“note”>

不实现此接口。

此接口的实现没有返回非PeerReference值的实现是无default(JniObjectReference)用的,它对应于nullJava VM 中。 虽然可以执行此操作,但它通常不是,导致来自Java的“意外”NullPointerException错误。 此外,即使可以实现 PeerReference,任何实现都不适合垃圾回收器,从而导致内存泄漏或清理值的其他工作。

</块>

属性

名称 说明
JniIdentityHashCode

返回包装实例的值 java.lang.System.identityHashCode()

JniManagedPeerState

托管对等方的状态。

JniObjectReferenceControlBlock

支持使用Java对象实例。

JniPeerMembers

成员访问和调用支持。

PeerReference

返回JniObjectReference包装的Java对象实例。

方法

名称 说明
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端有效。

适用于