您的位置:首页 > 编程语言 > C#

c#标准idispose模式使用示例

2014-02-21 10:24 736 查看
/// <summary>    /// 实现IDisposable,对非托管系统进行资源回收    /// </summary>    public class IDisplosePattern : IDisposable    {        public void Dispose()        {            this.Dispose(true);////释放托管资源            GC.SuppressFinalize(this);//请求系统不要调用指定对象的终结器. //该方法在对象头中设置一个位,系统在调用终结器时将检查这个位        }

        protected virtual void Dispose(bool disposing)        {            if (!_isDisposed)//_isDisposed为false表示没有进行手动dispose            {                if (disposing)                {                    //清理托管资源                }                //清理非托管资源            }            _isDisposed = true;        }

        private bool _isDisposed;

        ~IDisplosePattern()        {            this.Dispose(false);//释放非托管资源,托管资源由终极器自己完成了        }    }

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c# idispose模式