关于IDisposeable的问题
public   MyClass   :   IDisposeable 
 {    
          private   bool   hasDisposed   =   false; 
          public   void   Dispose() 
          { 
                      Dispose(true) 
                      GC.SuppressFinalize(this);//告诉CLR不需要再调用析构函数 
          } 
          protected   virtual   void   Dispose(bool   disposing) 
          { 
                      if(!hasDispose) 
                      { 
                                  if(disposing) 
                                  { 
                                              //   释放托管资源 
                                  } 
                                  //   释放非托管资源 
                      } 
                      hasDispose   =   true; 
          } 
          ~MyClass() 
             { 
                            Dispose(false); 
             } 
 }     
 我有3个不明白的地方: 
 1:为什么还要重载一个Dispose(bool)呢?只在必须实现的void   Dispose()中去释放资源不可以吗? 
 2:请问所有继承自IDisposeable的类都需要多重载一个Dispose(bool)吗? 
 2:有谁可以按照这个程序帮我填一下具体的代码,我不知道该如何补充代码。我想看看有什么代码可以将这个程序呈现出来。(就是个简单的Demo就OK) 
------解决方案--------------------2. 请问所有继承自IDisposeable的类都需要多重载一个Dispose(bool)吗?   
 其实并不见得一定要这样做,只不过这样做可能更完善些   
 3.有谁可以按照这个程序帮我填一下具体的代码,我不知道该如何补充代码。我想看看有什么代码可以将这个程序呈现出来   
 .NET框架程序设计有一个模拟的例子,可参考