标准的Disponse方法

 

 1 /// <summary>
 2 /// DemoObject
 3 /// </summary>
 4 public class DemoObject : IDisposable
 5 {
 6 /// <summary>
 7 /// 是否已经释放标记
 8 /// </summary>
 9 private bool disposed = false;
10 
11 /// <summary>
12 /// 析构自己
13 /// </summary>
14 ~DemoObject()
15 {
16     Dispose(false);
17 }
18 
19 /// <summary>
20 /// IDisposable的实现
21 /// Finalization终结自己
22 /// </summary>
23 public void Dispose()
24 {
25     Dispose(true);
26     GC.SuppressFinalize(this);
27 }
28 
29 /// <summary>
30 /// 虚Dispose方法
31 /// </summary>
32 /// <param name="isDisposing"></param>
33 protected virtual void Dispose(bool isDisposing)
34 {
35     // 不要多次处理
36     if (disposed)
37     {
38         return;
39     }
40 
41     if (isDisposing)
42     {
43         //释放托管资源
44     }
45 
46     //释放非托管资源
47     disposed = true;
48 }
49 }

 

 

posted @ 2010-07-21 10:17  江水  阅读(422)  评论(0编辑  收藏  举报
友情链接:『MY 163 Bolg』  『BlueIdea』  『YoBo』