AppDomain.IsFinalizingForUnload Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Menunjukkan apakah domain aplikasi ini sedang dibongkar, dan objek yang dikandungnya sedang diselesaikan oleh runtime bahasa umum.
public:
bool IsFinalizingForUnload();
public bool IsFinalizingForUnload();
member this.IsFinalizingForUnload : unit -> bool
Public Function IsFinalizingForUnload () As Boolean
Mengembalikan
true jika domain aplikasi ini membongkar dan runtime bahasa umum telah mulai memanggil finalizer; jika tidak, false.
Keterangan
Metode finalisasi untuk objek memberi Anda kesempatan untuk melakukan operasi pembersihan yang diperlukan sebelum objek dikumpulkan. Setelah finalisasi, objek dapat diakses tetapi dalam keadaan tidak valid dan karenanya tidak dapat digunakan. Akhirnya, pengumpulan sampah selesai dan mengklaim kembali objek.
Metode finalisasi objek dipanggil dalam salah satu situasi berikut: selama pengumpulan sampah, ketika runtime bahasa umum dimatikan, atau ketika domain aplikasi yang berisi objek dibongkar. Metode ini IsFinalizingForUnload hanya mengembalikan true dalam kasus terakhir; metode tidak mengembalikan true jika hasil finalisasi dari pengumpulan sampah rutin atau dari pematian CLR.
Nota
Untuk menentukan apakah finalisasi disebabkan oleh pematian CLR, gunakan Environment.HasShutdownStarted properti . Ini mengembalikan true jika finalisasi disebabkan oleh domain aplikasi yang dibongkar atau dimatikan CLR.
Saat menjalankan dalam metode finalisasi Anda selama pembongkaran domain, Anda mungkin ingin mengakses objek lain yang dirujuk oleh bidang statis dan memiliki metode finalisasi. Namun, Anda tidak dapat melakukannya dengan andal karena objek yang diakses mungkin sudah diselesaikan.
Nota
Pengecualian untuk aturan ini adalah Console kelas , yang berisi bidang statis yang mereferensikan objek aliran, tetapi diimplementasikan secara khusus sehingga Anda selalu dapat menulis ke konsol sistem, bahkan selama pembongkaran domain atau pematian sistem.
Gunakan metode ini dalam metode finalisasi objek untuk menentukan apakah domain aplikasi yang berisi objek dibongkar. Jika demikian, Anda tidak dapat mengakses objek apa pun dengan andal yang memiliki metode finalisasi dan direferensikan oleh bidang statis.