我在类里面实例化 abcBLL bll = new abcBLL();这个资源不会自动释放,
但是我想让他自动释放,用using(abcBLL bll = new abcBLL())释放,
提示我【using 语句中使用的类型必须可隐式转换为“System.IDisposable”】。
我怎么能释放掉实例化的bll呢?

解决方案 »

  1.   

    你要用using就必须实现System.IDisposable接口,
    using其实就是相当于
    bll.disponse();
    其实你不用显示回收的,.net垃圾回收机制会控制好的
      

  2.   

    那么说using只能释放查询时候的资源是吗?
      

  3.   

    abcBLL()的这个类必须继承接口System.IDisposable
    实现里面的dispose()方法
    using 在结束的时候会自动调用dispose方法释放你指定的对象
      

  4.   


    using可以释放托管资源,而你引用的DLL,那属于非托管资源。需要实现System.IDisposable接口,所谓实现System.IDisposable 接口其实就是在IDisposable接口中的Dispose()方法写所引用DLL的释放语句。using在结束时会自动运行你那个类的Dispose()方法来运行你写的释放语句来达到资源释放语句。