C#中IDispose接口和析构函数的实现

 1 public class Foo: IDisposable
2 {
3     public void Dispose()
4     {
5        Dispose(true);
6        GC.SuppressFinalize(this);
7     }
8
9     protected virtual void Dispose(bool disposing)
10     {
11        if (!m_disposed)
12        {
13            if (disposing)
14            {
15               // Release managed resources
16            }
17
18            // Release unmanaged resources
19
20            m_disposed = true;
21        }
22     }
23
24     ~Foo()
25     {
26        Dispose(false);
27     }
28
29     private bool m_disposed;
30 }
31 

posted @ 2013-03-10 20:26  Jimmyhxd  阅读(253)  评论(0编辑  收藏  举报