相关文章  
  • 使用C#进行点对点通讯和文件传输
  • C#进行点对点通讯和文件传输(通讯基类部分)
  • MapObjects2.2 在C#中的应用(动态加载地图)
  • 获取配置文件中configSections的配置信息
  • C#对底层数据操作的通用类逐个剖析
  • 高级Windows 2000 Rootkit检测技术
  • 虚拟主机探虚实
  • “Windows优化大师”应用三忌
  • 20例Windows XP操作系统优化技巧
  • 高效的数据仓库管理设计以及所需注意事项
  •   推荐  
      科普之友首页   专利     科普      动物      植物        天文   考古   前沿科技
     您现在的位置在:  首页 >>文献 >>培训

    通过C#中的解构器编写可靠高效的应用程序7

    两着调用。我们应该注意Dispose(bool)没有在任何地方被调用除了在IDisposable.Dispose()和解构器中。
      
        当一个客户调用IDisposable.Dispose()时,客户特意地想要清理托管的和非托管资源,并且因此完成清理工作。有一件你必须注意的事情是我们在清理资源之后立即调用了GC.SupressFinalize(this)。这个方法通知垃圾搜集器不需要调用解构器,因为我们已经做了清理。
      
        注意上面的例子,解构器使用参数false调用Dispose。这里,我们确信垃圾搜集器搜集了托管资源。我们仅仅做非托管资源的清理。
      
      结论
        尽管如此我们花费一些时间实现IDisposable接口,如果客户不能合适地调用它们会怎样?为此C#有一个酷的解决方案。‘using’代码块。它看起来像这样:
      
      using (MyClass objCls =new MyClass()) 
      { 
       
      }
    数据载入中...

    页码:[1] [2] [3] [4] [5] [6] [7]7页、共7页

         

          设为首页       |       加入收藏       |       广告服务       |       友情链接       |       版权申明      

    Copyriht 2007 - 2008 ©  科普之友 All right reserved