Stream.Dispose 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
釋放由 Stream 物件使用的所有資源。
多載
Dispose() |
釋放 Stream 所使用的所有資源。 |
Dispose(Boolean) |
釋放 Stream 所使用的 Unmanaged 資源,並選擇性地釋放 Managed 資源。 |
Dispose()
- 來源:
- Stream.cs
- 來源:
- Stream.cs
- 來源:
- Stream.cs
釋放 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()。
請注意,由於回溯相容性需求,此方法的實作與 Dispose 模式的建議指引不同。 這個方法會呼叫 Close(),然後呼叫 Dispose(Boolean)。
適用於
Dispose(Boolean)
- 來源:
- Stream.cs
- 來源:
- Stream.cs
- 來源:
- Stream.cs
釋放 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
釋放所有資源。 當 為 true
時disposing
,數據流也可以確保數據排清到基礎緩衝區,並存取其他可完成的物件。 從完成項呼叫時,可能會因為完成項之間沒有排序而無法執行此動作。
如果您的數據流使用操作系統句柄與其來源通訊,請考慮針對此目的使用的 SafeHandle 子類別。
如果已覆寫此方法,則由公用 Dispose() 方法和 Finalize() 方法呼叫。 Dispose() 會叫用受保護的 Dispose 方法, disposing
並將 參數設定為 true
。 Finalize
Dispose會叫用 ,並將 disposing
設定為 false
。
給繼承者的注意事項
在衍生類別中,請勿覆寫 Close() 方法,而是將所有 Stream 清除邏輯放在 方法中Dispose(Boolean)。
Dispose() 可以被其他物件呼叫多次。 覆寫 Dispose(Boolean) 時,請小心不要參考到先前已在對 Dispose() 的早期呼叫中被處置 (Dispose) 的物件。 如需如何實 Dispose(Boolean)作 的詳細資訊,請參閱 實作 Dispose 方法。
如需 和Finalize()的詳細資訊Dispose(),請參閱清除非受控資源。