SafeHandle.Dispose 方法
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
釋放 SafeHandle 類別所使用的資源。
Dispose() |
釋放 SafeHandle 類別所使用的所有資源。 |
Dispose(Boolean) |
釋放 SafeHandle 類別所使用的 Unmanaged 資源,指定是否要執行一般處置作業。 |
釋放 SafeHandle 類別所使用的所有資源。
public:
virtual void Dispose();
public void Dispose ();
abstract member Dispose : unit -> unit
override this.Dispose : unit -> unit
Public Sub Dispose ()
實作
備註
Close呼叫 或 Dispose 方法可釋放資源。 如果其他線程使用相同的安全句柄實例,但一旦不再發生,就可能不會立即發生這種情況。 雖然大部分使用 SafeHandle 的類別不需要提供完成項,但有時需要 (來清除檔案緩衝區,或將某些數據寫回記憶體) 。 在此情況下,他們可以提供保證在重要完成項執行之前 SafeHandle 執行的完成項。
Close當您完成使用 物件時,SafeHandle請呼叫 或 Dispose 方法。 方法會將 CloseSafeHandle 物件保留為無法使用的狀態。
注意
在您釋放對象的最後一個參考SafeHandle之前,請一律呼叫 Close 或 Dispose 方法。 否則工作窗格所使用的資源不會釋放,直到記憶體回收行程呼叫 SafeHandle 物件的 Finalize 方法。
適用於
.NET 9 及其他版本
產品 | 版本 |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |
釋放 SafeHandle 類別所使用的 Unmanaged 資源,指定是否要執行一般處置作業。
protected:
virtual void Dispose(bool disposing);
[System.Security.SecurityCritical]
protected virtual void Dispose (bool disposing);
protected virtual void Dispose (bool disposing);
[<System.Security.SecurityCritical>]
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
abstract member Dispose : bool -> unit
override this.Dispose : bool -> unit
Protected Overridable Sub Dispose (disposing As Boolean)
參數
- disposing
- Boolean
true
表示一般處置作業,false
則表示結束控制代碼。
- 屬性
備註
您絕對不應該明確呼叫 方法,Disposedisposing
並將 參數設定為 false
。
適用於
.NET 9 及其他版本
產品 | 版本 |
---|---|
.NET | Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9 |
.NET Framework | 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1 |
.NET Standard | 1.1, 1.2, 1.3, 1.4, 1.6, 2.0, 2.1 |
UWP | 10.0 |