Stream.Dispose Metode

Definisi

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.

Berlaku untuk