找回密码
 注册
搜索
热搜: 超星 读书 找书
查看: 501|回复: 0

[【解决】] c#资源回收问题

[复制链接]
发表于 2006-6-2 21:53:57 | 显示全部楼层 |阅读模式
c#与c++不同在资源回收机制上.
c#不能象c++一样通过delete显示回收资源.根据书上的介绍,我自己编写了一个小程序测试资源回收.请问大虾我采用单步调试,就是看不到析构函数是什么时候调用的.大家请给个答案.
我的程序如下
/// <summary>
  /// Class2 的摘要说明。
  /// </summary>
  public class Class2 : IDisposable
  {
    public Class2()
    {
      //
      // TODO: 在此处添加构造函数逻辑
      //
      Console.WriteLine(\"Class2 is created!\");
    }

    ~Class2()
    {
      Dispose();
      Console.WriteLine(\"Class2 is destroyed!\");
    }

    //abstract public int change();

   
    public virtual void Dispose()
    {
      if (!_dispose)
      {
        try
        {
        }
        finally
        {
          _dispose = true;
          GC.SuppressFinalize(this);
        }
      }
    }

    private bool _dispose = false;
  }

class Class1
  {
   
    public Class1()
    {
      using (Class2 s2 = new Class2())
      {
      }
      
      Console.WriteLine(\"Class1 is created!\");
    }

     ~Class1()
    {
      Console.WriteLine(\"Class1 is destroyed!\");
    }
    /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main(string[] args)
    {
      //
      // TODO: 在此处添加代码以启动应用程序
      //
      Class1 c = new Class1();

    }
  }
}

}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-11-15 12:48 , Processed in 0.162390 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表