如何编写提供了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);
   }
}

你可能感兴趣的:(C#,职场,休闲,托管资源,IDisposable,非托管资源)