Bahasa

Stream.Dispose Metode

Definisi

Merilis semua sumber daya yang Stream digunakan oleh objek.

Overload

Nama Deskripsi
Dispose()

Merilis semua sumber daya yang digunakan oleh Stream.

Dispose(Boolean)

Merilis sumber daya yang tidak dikelola yang Stream digunakan oleh dan secara opsional merilis sumber daya terkelola.

Dispose()

Sumber:
Stream.cs
Sumber:
Stream.cs
Sumber:
Stream.cs
Sumber:
Stream.cs
Sumber:
Stream.cs

Merilis semua sumber daya yang digunakan oleh Stream.

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 dialokasikan untuk tujuan lain. Untuk informasi selengkapnya tentang Dispose, lihat Membersihkan Sumber Daya Yang Tidak Dikelola.

Catatan Bagi Inheritor

Tempatkan semua logika pembersihan untuk objek stream Anda di Dispose(Boolean). Jangan ambil alih Close().

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
Sumber:
Stream.cs
Sumber:
Stream.cs

Merilis sumber daya yang tidak dikelola yang Stream digunakan oleh 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 terkelola dan tidak terkelola; 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

Di kelas turunan, jangan ambil alih Close() metode , sebagai gantinya, letakkan semua logika pembersihan Stream dalam Dispose(Boolean) metode .

Dispose() dapat dipanggil beberapa kali oleh objek lain. Saat mengambil alih Dispose(Boolean), 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