Stream.Dispose 方法

定義

釋放由 Stream 物件使用的所有資源。

多載

Dispose()

釋放 Stream 所使用的所有資源。

Dispose(Boolean)

釋放 Stream 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

Dispose()

釋放 Stream 所使用的所有資源。

public:
 virtual void Dispose();
public void Dispose ();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()

實作

備註

這個方法會藉由將任何變更寫入至備份存放區,並關閉串流以釋出資源,來處置資料流程。

呼叫可讓用來重新配置的資源,以 Dispose Stream 供其他用途使用。 如需的詳細資訊 Dispose ,請參閱 清除非受控資源

給繼承者的注意事項

將資料流程物件的所有清除邏輯放入 Dispose(Boolean) 。 請勿覆寫 Close()

請注意,基於回溯相容性需求,這個方法的執行方式與處置模式的建議指引不同。 這個方法會呼叫 Close() ,然後呼叫 Dispose(Boolean)

適用於

Dispose(Boolean)

釋放 Stream 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。

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)

參數

disposing
Boolean

true 表示釋放 Managed 和 Unmanaged 資源,false 則表示只釋放 Unmanaged 資源。

備註

您應該指定的來釋放所有 true 資源 disposing 。 當 disposing 為時 true ,資料流程也可以確保資料會排清到基礎緩衝區,並存取其他可終結物件。 從完成項呼叫時,可能不會發生這種情況,因為在完成項之間沒有順序。

如果您的資料流程使用作業系統控制碼與其來源進行通訊,請考慮使用的子類別做 SafeHandle 為此用途。

公用方法和方法會呼叫這個方法 Dispose FinalizeDisposeDispose使用設定為的參數叫用受保護的方法 disposing trueFinalizeDispose 設定為的叫用 disposing false

給繼承者的注意事項

在衍生類別中,請勿覆寫 Close() 方法,而是將所有資料流程清除邏輯放入方法中 Dispose(Boolean)

Dispose() 可以被其他物件呼叫多次。 覆寫 Dispose(Boolean) 時,請小心不要參考到先前已在對 Dispose() 的早期呼叫中被處置 (Dispose) 的物件。 如需如何執行的詳細資訊 Dispose(Boolean) ,請參閱實 處置方法

如需和的詳細資訊 Dispose() Finalize() ,請參閱 清除非受控資源

適用於