自定义类如何写Dispose()?
有没有相关的例子?
这个方法是谁来调用的呢?需要在使用的时候手动调用吗?

解决方案 »

  1.   

    说实话 个人一直认为在c#中Dispose有没有调用没啥区别……
      

  2.   

    我是自定义的数据库访问类,有一个全局连接,我想在WEB页面调用后确保连接关闭,防止闲置连接.理论上一个页面的生命周期结束后,.net应该自动销毁所有对象吧,是不是?我没太弄清楚,所以问问高手.呵呵
      

  3.   

    public void Dispose()
    {
    Dispose(true);
    GC.SuppressFinalize(true);
    }
      

  4.   

    Dispose()方法必须由程序员自己显示的调用,如果你忘记了这么做,那么在GC回收这个对象之前,它的非托管资源都得不到释放。
      

  5.   

    要实现Dispose方法  你的类必须实现IDispose接口
      

  6.   

    如果只是要关闭连接 只需要用其close方法,系统会自行销毁,如果是web调用最好声明成静态的,能节约一定资源
      

  7.   


    to 如果只是要关闭连接 只需要用其close方法,系统会自行销毁,如果是web调用最好声明成静态的,能节约一定资源Close 方法的实现一般只是简单的调用Dispose方法 之所以要实现Close方法是对于一些对象
    close (关闭)比 Dispose(销毁)更容易理解
      

  8.   

    to 如果只是要关闭连接 只需要用其close方法,系统会自行销毁,如果是web调用最好声明成静态的,能节约一定资源Close 方法的实现一般只是简单的调用Dispose方法 之所以要实现Close方法是对于一些对象
    close (关闭)比 Dispose(销毁)更容易理解
    _______________________________
    好像不是这样
    连接时在执行close方法后,如果使用了连接池,与数据库的连接并未真正关闭,而是被传递到连接池中,之后可在连接池重用(web访问特殊有用),而连接池默认恰恰是打开的