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);//释放非托管资源,托管资源由终极器自己完成了 } }
相关文章推荐
- 模板方法模式(TemplateMethod Pattern)(二):java中模板方法和钩子的使用示例
- 使用设计模式中的工厂方法模式进行C#编程的示例讲解
- 动态代理的5模式使用示例和Mixin模式
- php设计模式之命令模式使用示例
- Java使用组合模式实现表示公司组织结构功能示例
- Java使用策略模式解决商场促销商品问题示例
- Python使用设计模式中的责任链模式与迭代器模式的示例
- 《GOF设计模式》—中介者 (MEDIATOR)—Delphi源码示例:Colleague—Mediator通信(使用观察者模式)
- Eclipse中使用Hadoop集群模式开发配置及简单程序示例(Windows下)
- Visitor模式示例(使用Loki类库)
- php设计模式之单例模式使用示例
- python中如何使用正则表达式的非贪婪模式示例
- 《GOF设计模式》—命令(COMMAND)—Delphi源码示例:参数化机制(使用命令模式)
- java实现策略模式使用示例
- Eclipse中使用Hadoop伪分布模式开发配置及简单程序示例(Linux下)
- 使用模板方法模式实现可扩展性设计(Java示例)
- php设计模式之单例模式使用示例
- asp.net中WinForm使用单例模式示例
- Java设计模式之访问者模式使用场景及代码示例
- php设计模式之命令模式使用示例