如何編寫提供了IDisposable接口的類.

這裏提供了一個代碼模板,直接套用就行.
 
public class BaseClass: IDisposable
{
      
//實現 IDisposable 接口的Dispose()方法.
       public void Dispose()
      {
              Disposing(
true);
              //通知系統在清理資源時不要調用本對象的終結器
              GC.SuppressFinalize(
this);      
      }

     
protected virtual void Disposing(bool disposing)
     {
             
if (disposing)
             {
                   
// 在這裏釋放託管資源.
              }
            
// 在這裏釋放非託管資源.
      
}

     
// Finalize 方法或析構函數.
     ~Base()
     {
            Dispose (
false);
      }
}
 
如果BaseClass下面有子類,下面是子類的模板
public class DerivedClass: BaseClass

    
protected override  void Disposing(bool disposing)
    {
         
if (disposing)
          {
                 
// 在這裏釋放託管資源.
          }
        
// 在這裏釋放非託管資源.
         
         //調用父類Disposing()方法
        
base.Disposing(disposing);
   }
}


~~THE END~~

尹曙光

發佈了31 篇原創文章 · 獲贊 1 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章