Stream.Dispose 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
釋放物件所使用 Stream 的所有資源。
多載
| 名稱 | Description |
|---|---|
| Dispose() |
釋放 Stream所使用的所有資源。 |
| Dispose(Boolean) |
釋放 未管理的資源, Stream 並可選擇性地釋放受管理資源。 |
Dispose()
- 來源:
- Stream.cs
- 來源:
- Stream.cs
- 來源:
- 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.cs
- 來源:
- Stream.cs
釋放 未管理的資源, Stream 並可選擇性地釋放受管理資源。
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 釋放可管理與非受管理資源; false 只釋放未管理的資源。
備註
你應該將所有資源指定 true 為 disposing。 當 disposing 為 true時,串流也能確保資料被清除到底層緩衝區,並存取其他可最終化的物件。 由於終結者之間缺乏排序,這可能無法實現。
如果你的串流使用作業系統的 handle 與來源通訊,建議考慮使用 的 SafeHandle 子類別來達成此目的。
此方法由公開方法呼叫,若Dispose()方法已被覆寫則由 該Finalize()方法呼叫。
Dispose() 呼叫受保護 Dispose 的方法,參數 disposing 設為 true。
Finalize 調用 Dispose 時設定 disposing 為 false。
給繼承者的注意事項
在衍生類別中,不要覆寫該 Close() 方法,而是將所有串流清理邏輯放入該 Dispose(Boolean) 方法。
Dispose() 可以被其他物件多次呼叫。 覆寫 Dispose(Boolean)時,請小心不要引用先前在呼叫中 Dispose()已處理的物件。 欲了解更多如何實施 Dispose(Boolean),請參閱「 實施處置方法」。
欲了解更多關於 Dispose() 和 Finalize()的資訊,請參閱 「清理未管理資源」。