DependentHandle Struktur

Definisi

Mewakili handel pengumpulan sampah dependen. Handel akan secara kondisional menjaga instans objek dependen tetap hidup selama instans objek target juga hidup, tanpa mewakili referensi yang kuat ke instans target.

public value class DependentHandle : IDisposable
public struct DependentHandle : IDisposable
type DependentHandle = struct
    interface IDisposable
Public Structure DependentHandle
Implements IDisposable
Warisan
DependentHandle
Penerapan

Keterangan

Nilai DependentHandle dengan instans objek tertentu sebagai target tidak akan menyebabkan target tetap hidup jika tidak ada referensi kuat lainnya, tetapi akan melakukannya untuk instans objek dependen selama target masih hidup.

Menggunakan jenis ini secara konseptual setara dengan memiliki referensi lemah ke instans objek target tertentu A, dengan objek tersebut memiliki bidang atau properti (atau beberapa referensi kuat lainnya) ke instans objek dependen B.

Jenisnya DependentHandle tidak aman untuk utas, dan konsumen bertanggung jawab untuk memastikan bahwa itu Dispose() tidak disebut bersamaan dengan API lain. Tidak melakukannya menghasilkan perilaku yang tidak ditentukan.

Properti IsAllocated, Target, Dependent, dan TargetAndDependent sebaliknya aman utas, dan aman untuk digunakan jika Dispose() tidak dipanggil secara bersamaan juga.

Konstruktor

Nama Deskripsi
DependentHandle(Object, Object)

Menginisialisasi instans DependentHandle baru struct dengan argumen yang ditentukan.

Properti

Nama Deskripsi
Dependent

Mendapatkan atau mengatur instans objek dependen untuk handel saat ini.

IsAllocated

Mendapatkan nilai yang menunjukkan apakah instans ini dibangun dengan DependentHandle(Object, Object) dan belum dibuang.

Target

Mendapatkan atau mengatur instans objek target untuk handel saat ini. Target hanya dapat diatur ke null nilai setelah DependentHandle instans dibuat. Melakukannya akan menyebabkan Dependent mulai kembali null juga, dan menjadi memenuhi syarat untuk koleksi bahkan jika target sebelumnya masih hidup.

TargetAndDependent

Mendapatkan nilai dan TargetDependent (jika tersedia) sebagai operasi atom. Artinya, bahkan jika Target secara bersamaan diatur ke null, memanggil metode ini akan mengembalikan null untuk target dan dependen, atau mengembalikan kedua nilai sebelumnya. Jika Target dan Dependent digunakan secara berurutan dalam skenario ini, terkadang berhasil mengambil target sebelumnya, tetapi kemudian gagal mendapatkan dependen.

Metode

Nama Deskripsi
Dispose()

Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, merilis, atau mengatur ulang sumber daya yang tidak dikelola.

Berlaku untuk