实现 IDisposable 接口的好处

  1. 可以通过调用 Dispose 方法,来显式的释放资源。
    当托管对象不再使用时,垃圾回收器会自动释放分配给该对象的内存,不过进行垃圾回收的时间不可预知。而且,垃圾回收器对窗口句柄、打开的文件和流等非托管资源一无所知。
    当不再需要某对象时,对象的使用者可以通过调用 Dispose 方法(垃圾回收器释放资源时也是调用该方法)来显式的释放托管和非托管资源。
     
  2. 实现了 IDisposable 接口的对象,可以用 using 语句来方便的释放资源。
    using (TestObject testObject = new TestObject())
    {
      
    // 使用对象
    }

    看看上面的代码比使用 try/catch/finally 要简洁多:
    TestObject testObject;
    try 
    {
      testObject 
    = new TestObject();
      
    // 使用对象

    catch (Exception e) 
    {
      
    // 处理异常

    finally 
    {
      testObject.Dispose();
    }

  

原文地址:https://www.cnblogs.com/juan/p/1424347.html