1 public class Class1 : IDisposable
 2 {
 3  public Class1()
 4  {
 5  }
 6 
 7  ~Class1 ()
 8  {
 9   //垃圾回收器将调用该方法,因此参数需要为false。
10   Dispose (false);
11  }
12 
13  //该方法定义在IDisposable接口中。
14  public void Dispose ()
15  {
16   //该方法由程序调用,在调用该方法之后对象将被终结。
17   //因为我们不希望垃圾回收器再次终结对象,因此需要从终结列表中去除该对象。
18   GC.SuppressFinalize (this);
19   //因为是由程序调用该方法的,因此参数为true。
20   Dispose (true);
21  }
22 
23  //所有与回收相关的工作都由该方法完成
24  private void Dispose(bool disposing)
25   {
26   lock(this//避免产生线程错误。
27   {
28    if (disposing)
29    {
30     //需要程序员完成释放对象占用的资源。
31    }
32 
33   //对象将被垃圾回收器终结。在这里添加其它和清除对象相关的代码。
34  }
35 }
36 }

相关文章:

  • 2022-01-09
  • 2021-07-05
  • 2021-06-29
  • 2021-06-16
  • 2022-02-01
  • 2022-03-04
  • 2022-12-23
猜你喜欢
  • 2021-10-20
  • 2021-12-31
  • 2021-06-25
  • 2022-03-04
  • 2022-12-23
  • 2021-07-06
  • 2021-10-26
相关资源
相似解决方案