IDisposable Dispose

.NET Framework 为需要拆除方法的类型定义了一个接口:

public interface IDisposable
{
  void Dispose();
}

Dispose() 主要用于清理资源,例如非托管引用。但是,即使管理其他资源,强制处置其他资源也很有用。而不是等待 GC 最终还清理你的数据库连接,你可以确保它在你自己的 Dispose() 实现中完成。

public void Dispose()
{
   if (null != this.CurrentDatabaseConnection)
   {
       this.CurrentDatabaseConnection.Dispose();
       this.CurrentDatabaseConnection = null;
   }
}

当你需要直接访问非托管指针或 win32 资源等非托管资源时,请创建一个继承自 SafeHandle 的类,并使用该类的约定/工具来执行此操作。