IDisposable 介面 使用準則

2021-08-01 21:52:23 字數 552 閱讀 4939

準則一:只有在需要情況下才使用該介面,例如:

1.你的類包含了非託管資源

2.你的類包含了 實現idisposable 介面 的屬性

準則二:對於有託管資源的類,繼承idisposable 介面,盡量不要 使用 析構函式,dispose方法越簡單越好。沒有必要對類裡面的託管資源 賦值 null.

準則三:對於有乙個非託管資源的類,繼承idisposable 介面,需要實現dispose方法和析構函式。

1.不要建立含有多個非託管資源的類

2.不要建立即含有非託管資源又有託管資源的類

3.dipose方法最後要加上gc.suppressfinalize(this);

參考:附上乙份code:

public class classa : idisposable

public void dispose()

//可供子類重寫

protected virtual void dispose(bool disposing)

//清理非託管資源

}}

對IDisposable介面的理解

本人最近接觸乙個專案,在這個專案裡面看到很多類實現了idisposable介面.在我以前的專案中都很少用過這個介面,只知道它是用來手動釋放資源的.這麼多地方用應該有它的好處,為此自己想對它有進一步的了解,但這個過程遠沒有我想象中的簡單.idisposable介面定義 定義一種釋放分配的資源的方法。n...

實現IDisposable介面的方式和實際應用

實現idisposable介面的類才能在建立此類的碼中使用using來自動釋放資源,如 public class userbll idisposable region 成員方法 成員方法 endregion region 釋放類資源 private bool m disposed public vo...

IDisposable的另類用法

idisposable是.net中乙個很重要的介面,一般用來釋放非託管資源,我們知道在使用了idisposable的物件之後一定要呼叫idisposable.dispose 方法,或者使用.net提供的關鍵字using來達到這一目的,如 public void readfile 使用using關鍵字...