Stream.Dispose 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.
Merilis semua sumber daya yang Stream digunakan oleh objek .
Overload
Dispose() |
Merilis semua sumber daya yang Streamdigunakan oleh . |
Dispose(Boolean) |
Merilis sumber daya tidak terkelola yang digunakan oleh Stream dan secara opsional merilis sumber daya terkelola. |
Dispose()
- Sumber:
- Stream.cs
- Sumber:
- Stream.cs
- Sumber:
- Stream.cs
Merilis semua sumber daya yang Streamdigunakan oleh .
public:
virtual void Dispose();
public void Dispose ();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()
Penerapan
Keterangan
Metode ini membuang aliran, dengan menulis perubahan apa pun pada penyimpanan pendukung dan menutup aliran untuk merilis sumber daya.
Dispose
Panggilan memungkinkan sumber daya yang Stream digunakan oleh untuk di-realokasi untuk tujuan lain. Untuk informasi selengkapnya tentang Dispose
, lihat Membersihkan Sumber Daya Tidak Terkelola.
Catatan Bagi Inheritor
Tempatkan semua logika pembersihan untuk objek stream Anda di Dispose(Boolean). Jangan ambil Close()alih .
Perhatikan bahwa karena persyaratan kompatibilitas mundur, implementasi metode ini berbeda dari panduan yang direkomendasikan untuk pola Buang. Metode ini memanggil Close(), yang kemudian memanggil Dispose(Boolean).
Berlaku untuk
Dispose(Boolean)
- Sumber:
- Stream.cs
- Sumber:
- Stream.cs
- Sumber:
- Stream.cs
Merilis sumber daya tidak terkelola yang digunakan oleh Stream dan secara opsional merilis sumber daya terkelola.
protected:
virtual void Dispose(bool disposing);
protected virtual void Dispose (bool disposing);
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
Protected Overridable Sub Dispose (disposing As Boolean)
Parameter
- disposing
- Boolean
true
untuk merilis sumber daya yang dikelola dan tidak dikelola; false
untuk merilis hanya sumber daya yang tidak dikelola.
Keterangan
Anda harus merilis semua sumber daya dengan menentukan true
untuk disposing
. Ketika disposing
adalah true
, aliran juga dapat memastikan data dibersihkan ke buffer yang mendasar, dan mengakses objek lain yang dapat diselesaikan. Ini mungkin tidak dimungkinkan ketika dipanggil dari finalizer karena kurangnya pemesanan di antara finalizer.
Jika aliran Anda menggunakan handel sistem operasi untuk berkomunikasi dengan sumbernya, pertimbangkan untuk menggunakan subkelas SafeHandle untuk tujuan ini.
Metode ini dipanggil oleh metode publik Dispose() dan Finalize() metode , jika telah ditimpa. Dispose() memanggil metode yang dilindungi Dispose dengan parameter yang disposing
diatur ke true
. Finalize
memanggil Dispose dengan disposing
diatur ke false
.
Catatan Bagi Inheritor
Dalam kelas turunan, jangan ambil alih metode , sebagai gantinyaClose(), letakkan semua logika pembersihan Stream dalam Dispose(Boolean) metode .
Dispose() dapat dipanggil beberapa kali oleh objek lain. Saat mengambil Dispose(Boolean)alih , berhati-hatilah untuk tidak mereferensikan objek yang sebelumnya telah dibuang dalam panggilan sebelumnya ke Dispose(). Untuk informasi selengkapnya tentang cara menerapkan Dispose(Boolean), lihat Menerapkan Metode Buang.
Untuk informasi selengkapnya tentang Dispose() dan Finalize(), lihat Membersihkan Sumber Daya Yang Tidak Dikelola.