如何编写提供了IDisposable接口的类.

来源:互联网 发布:暗黑启示录java 编辑:程序博客网 时间:2024/05/24 03:20
这里提供了一个代码模板,直接套用就行.
 
public class BaseClass: IDisposable
{
      
//实现 IDisposable 接口的Dispose()方法.
       public void Dispose()
      {
              Disposing(
true);
              //通知系统在清理资源时不要调用本对象的终结器
              GC.SuppressFinalize(
this);      
      }

     
protected virtualvoid 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~~

尹曙光

原创粉丝点击