IJavaPeerable Antarmuka

Definisi

Dukungan untuk menggunakan instans objek Java.

public interface IJavaPeerable : IDisposable
type IJavaPeerable = interface
    interface IDisposable
Turunan
Penerapan

Keterangan

Antarmuka IJavaPeerable menyediakan akses ke instans objek Java, pemanggilan anggota pada instans Java tersebut, kontrol atas masa pakai instans objek tersebut, dan panggilan balik saat pembungkus sedang dibuang atau diselesaikan. Operasi berikut diizinkan:

  • Akses instans objek tersedia melalui PeerReference properti . :
  • Akses anggota dan pemanggilan tersedia melalui JniPeerMembers properti . :
  • Kontrol seumur hidup objek melalui Java.Interop.IJavaPeerable.Dispose metode dan DisposeUnlessReferenced() . :
  • Visibilitas nilai dikontrol melalui Java.Interop.IJavaPeerable.DisposeUnlessRegistered. :
  • Panggilan balik pembuangan dan finalisasi melalui Disposed() metode dan Finalized() . :
<blok subset="none" type="note">

JANGAN TERAPKAN ANTARMUKA INI.

Implementasi antarmuka ini tidak berguna tanpa PeerReference implementasi yang mengembalikan non-nilaidefault(JniObjectReference), yang sesuai dengan null dalam VM Java. Meskipun ini dapat dilakukan, sering tidak, mengakibatkan kesalahan "tak terduga" NullPointerException dari Java. Selain itu, meskipun Anda dapat menerapkan PeerReference, implementasi apa pun tidak akan sesuai dengan pengumpul sampah, yang mengakibatkan kebocoran memori atau pekerjaan tambahan untuk membersihkan nilai.

</Blok>

Properti

Nama Deskripsi
JniIdentityHashCode

Mengembalikan nilai java.lang.System.identityHashCode() untuk instans yang dibungkus.

JniManagedPeerState

Status serekan terkelola.

JniObjectReferenceControlBlock

Dukungan untuk menggunakan instans objek Java.

JniPeerMembers

Akses anggota dan dukungan pemanggilan.

PeerReference

Mengembalikan instans objek Java yang dibungkusJniObjectReference.

Metode

Nama Deskripsi
Disposed()

Dipanggil ketika instans telah dibuang.

DisposeUnlessReferenced()

Jika tidak ada referensi yang luar biasa untuk instans ini, maka panggilan Dispose(); jika tidak, tidak melakukan apa pun.

Finalized()

Dipanggil ketika instans telah diselesaikan.

SetJniIdentityHashCode(Int32)

Atur nilai yang dikembalikan oleh JniIdentityHashCode.

SetJniManagedPeerState(JniManagedPeerStates)

Dukungan untuk menggunakan instans objek Java.

SetPeerReference(JniObjectReference)

Atur nilai yang dikembalikan oleh PeerReference.

UnregisterFromRuntime()

Batalkan pendaftaran instans ini sehingga runtime tidak akan mengembalikannya dari pemanggilan di masa mendatang Java.Interop.JniRuntime+JniValueManager.PeekValue .

Metode Ekstensi

Nama Deskripsi
GetJniTypeName(IJavaPeerable)

Mendapatkan nama JNI dari jenis instans self.

JavaAs<TResult>(IJavaPeerable)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

TryJavaCast<TResult>(IJavaPeerable, TResult)

Cobalah untuk memaksa self untuk mengetik TResult, memeriksa bahwa paksaan valid di sisi Java.

Berlaku untuk