Mengapa kita memerlukan IDisposable?
Mengapa kita memerlukan IDisposable?

Video: Mengapa kita memerlukan IDisposable?

Video: Mengapa kita memerlukan IDisposable?
Video: IDisposable 2024, November
Anonim

Boleh pakai tidak akan mengosongkan apa-apa atau memusnahkan objek. Panggilan ke Dispose() tidak melakukan apa-apa jika fungsi itu tidak melakukan apa-apa. Penggunaan Boleh pakai ialah corak. Rujukan terurus kepada objek lain menghalang objek dikumpul oleh pemungut sampah.

Begitu juga, anda mungkin bertanya, mengapa antara muka IDisposable digunakan?

Boleh pakai selalunya digunakan untuk mengeksploitasi pernyataan penggunaan dan memanfaatkan cara mudah untuk melakukan pembersihan deterministik objek terurus. Tujuan corak Buang adalah untuk menyediakan mekanisme untuk membersihkan kedua-dua sumber terurus dan tidak terurus dan apabila ia berlaku bergantung pada cara kaedah Buang dipanggil.

Tambahan pula, apakah itu IDisposable? Boleh pakai ialah antara muka yang mengandungi satu kaedah, Dispose(), untuk melepaskan sumber yang tidak terurus, seperti fail, strim, sambungan pangkalan data dan sebagainya.

Memandangkan ini, bilakah saya harus menggunakan IDisposable?

dalam kelas, awak harus melaksanakan IDisposable dan tulis ganti kaedah Buang untuk membolehkan anda mengawal apabila memori dibebaskan. Jika tidak, tanggungjawab ini diserahkan kepada pemungut sampah untuk membebaskan memori apabila objek yang mengandungi sumber yang tidak terurus dimuktamadkan.

Mengapa kita perlu membuang dalam C#?

Ia sentiasa disyorkan untuk digunakan buang kaedah untuk membersihkan sumber yang tidak terurus. Tetapi sumber yang tidak terurus (Sebagai contoh, Windows API mencipta objek, Fail, objek sambungan Pangkalan Data, objek COM, dll) berada di luar skop. Rangka kerja NET kita perlu membersihkan sumber kita secara eksplisit. Untuk jenis objek ini,.

Disyorkan: