设为首页 加入收藏

TOP

释放资源的一般范式——更锋利的C#代码小记
2019-09-03 02:14:34 】 浏览:19
Tags:释放 资源 一般 范式 锋利 代码 小记
public class Photo : IDisposable
{
//在Finalize函数中调用内部的Dispose方法
  ~Photo()
   {
     //被自动回收时仅释放托管资源,不释放非托管资源
      Dispose(false);
   }
   //提供了自命名的释放资源方法
   public void Close()
   {
    //当显式回收时则释放所有资源
      Dispose(true);
   }
    #region  IDisposable接口显式实现
        //显式实现IDisposable接口,避免同时出现Dispose方法和自定义命名方法(Close)
        public void IDisposable.Dispose()
        {
            //释放所有资源
            Dispose(true);
            //避免重复调用Finalize函数
            GC.SuppressFinalize(this);
        }
    #endregion
         //内部的Dispose方法,真正实施资源释放工作
        protected virtual void Dispose(bool disposing)
        {
            if(disposing==true)
            {
                //释放托管资源
            }
            //释放非托管资源
        }
}

 

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇为什么要使用博客 下一篇C#基础-MD5验证

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目