IJavaPeerable 接口
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
支持使用Java对象实例。
public interface IJavaPeerable : IDisposable
type IJavaPeerable = interface
interface IDisposable
- 派生
- 实现
注解
该IJavaPeerable接口提供对Java对象实例的访问权限、调用该Java实例上的成员、控制该对象实例的生存期,以及包装器被释放或终结时的回调。 允许以下操作:
- 可以通过 PeerReference 属性访问对象实例。 :
- 成员访问和调用可通过 JniPeerMembers 属性获得。 :
- 对象生存期控件和Java.Interop.IJavaPeerable.DisposeDisposeUnlessReferenced()方法。 :
- 值可见性通过 Java.Interop.IJavaPeerable.DisposeUnlessRegistered. :
- 通过 Disposed() 和 Finalized() 方法处置和最终化回调。 :
不实现此接口。
此接口的实现没有返回非PeerReference值的实现是无default(JniObjectReference)用的,它对应于nullJava VM 中。 虽然可以执行此操作,但它通常不是,导致来自Java的“意外”NullPointerException错误。 此外,即使可以实现 PeerReference,任何实现都不适合垃圾回收器,从而导致内存泄漏或清理值的其他工作。
</块>
属性
| 名称 | 说明 |
|---|---|
| JniIdentityHashCode |
返回包装实例的值 |
| JniManagedPeerState |
托管对等方的状态。 |
| JniObjectReferenceControlBlock |
支持使用Java对象实例。 |
| JniPeerMembers |
成员访问和调用支持。 |
| PeerReference |
返回JniObjectReference包装的Java对象实例。 |
方法
| 名称 | 说明 |
|---|---|
| Disposed() |
在释放实例时调用。 |
| DisposeUnlessReferenced() |
如果没有对此实例的未完成引用,则调用 |
| Finalized() |
在实例完成时调用。 |
| SetJniIdentityHashCode(Int32) |
设置由 |
| SetJniManagedPeerState(JniManagedPeerStates) |
支持使用Java对象实例。 |
| SetPeerReference(JniObjectReference) |
设置由 |
| UnregisterFromRuntime() |
取消注册此实例,使运行时不会从将来 Java.Interop.JniRuntime+JniValueManager.PeekValue 的调用中返回它。 |
扩展方法
| 名称 | 说明 |
|---|---|
| GetJniTypeName(IJavaPeerable) |
获取实例 |
| JavaAs<TResult>(IJavaPeerable) |
尝试强制 |
| TryJavaCast<TResult>(IJavaPeerable, TResult) |
尝试强制 |