Class 实现IDisposing方法
public class MyResourceHog : IDisposable { // 已经被处理过的标记 private bool _alreadyDisposed = false; // 终结器。调用虚拟的Dispose方法 ~MyResourceHog() { Dispose( false ); } // IDisposable的实现 // 调用虚拟的Dispose方法。禁止Finalization(终结操作) public void Dispose() { Dispose( true ); GC.SuppressFinalize( true ); } // 虚拟的Dispose方法 protected virtual void Dispose( bool isDisposing ) { // 不要多次处理 if ( _alreadyDisposed ) return; if ( isDisposing ) { // TODO: 此处释放受控资源 } // TODO: 此处释放非受控资源。设置被处理过标记 _alreadyDisposed = true; } } 如果衍生类需要执行另外的清除操作,它应该实现受保护的Dispose方法: public class DerivedResourceHog : MyResourceHog { // 它有自己的被处理过标记 private bool _disposed = false; protected override void Dispose( bool isDisposing ) { // 不要多次处理 if ( _disposed ) return; if ( isDisposing ) { // TODO: 此处释放受控资源 } // TODO: 此处释放所有受控资源 // 让基类释放自己的资源。基类负责调用GC.SuppressFinalize( ) base.Dispose( isDisposing ); // 设置衍生类的被处理过标记 _disposed = true; } } Class 实现IDisposing方法的更多相关文章
- javaSE27天复习总结
JAVA学习总结 2 第一天 2 1:计算机概述(了解) 2 (1)计算机 2 (2)计算机硬件 2 (3)计算机软件 2 (4)软件开发(理解) 2 (5) ...
- mapreduce多文件输出的两方法
mapreduce多文件输出的两方法 package duogemap; import java.io.IOException; import org.apache.hadoop.conf ...
- 【.net 深呼吸】细说CodeDom(6):方法参数
本文老周就给大伙伴们介绍一下方法参数代码的生成. 在开始之前,先补充一下上一篇烂文的内容.在上一篇文章中,老周检讨了 MemberAttributes 枚举的用法,老周此前误以为该枚举不能进行按位操作 ...
- IE6、7下html标签间存在空白符,导致渲染后占用多余空白位置的原因及解决方法
直接上图:原因:该div包含的内容是靠后台进行print操作,输出的.如果没有输出任何内容,浏览器会默认给该空白区域添加空白符.在IE6.7下,浏览器解析渲染时,会认为空白符也是占位置的,默认其具有字 ...
- 多线程爬坑之路-Thread和Runable源码解析之基本方法的运用实例
前面的文章:多线程爬坑之路-学习多线程需要来了解哪些东西?(concurrent并发包的数据结构和线程池,Locks锁,Atomic原子类) 多线程爬坑之路-Thread和Runable源码解析 前面 ...
- [C#] C# 基础回顾 - 匿名方法
C# 基础回顾 - 匿名方法 目录 简介 匿名方法的参数使用范围 委托示例 简介 在 C# 2.0 之前的版本中,我们创建委托的唯一形式 -- 命名方法. 而 C# 2.0 -- 引进了匿名方法,在 ...
- ArcGIS 10.0紧凑型切片读写方法
首先介绍一下ArcGIS10.0的缓存机制: 切片方案 切片方案包括缓存的比例级别.切片尺寸和切片原点.这些属性定义缓存边界的存在位置,在某些客户端中叠加缓存时匹配这些属性十分重要.图像格式和抗锯齿等 ...
- [BOT] 一种android中实现“圆角矩形”的方法
内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角.思路是利用"Xfermode + Path"来进行 ...
- JS 判断数据类型的三种方法
说到数据类型,我们先理一下JavaScript中常见的几种数据类型: 基本类型:string,number,boolean 特殊类型:undefined,null 引用类型:Object,Functi ...
随机推荐
- hdu 1312:Red and Black(DFS搜索,入门题)
Red and Black Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Tot ...
- .Net的后台服务技术有哪些?
ashx(一般处理程序)WCFWebServiceASP.NET Web API 1 ashx(一般处理程序) 一 般处理程序(HttpHandler)是·NET众多web组件的一种,ashx是其扩展 ...
- Adapter适配器
1.概念 *连接后端数据和前端显示的适配器接口 *数据和UI之间的重要连接 2. ArrayAdapter ArrayAdapter构造器如下: ArrayAdapter(Context con ...
- Kmp 算法模板 C
/** * name:KMP * time:2012-11-22 * 字符串快速匹配 */ #include<stdio.h> #include<string.h> typed ...
- WPF MVVM模式下的无阻塞刷新探讨
很多时候我们需要做一个工作,在一个方法体里面,读取大数据绑定到UI界面,由于长时间的读取,读取独占了线程域,导致界面一直处于假死状态.例如,当应用程序开始读取Web资源时,读取的时效是由网络链路的速度 ...
- http://blog.csdn.net/shangboerds/article/details/44175667
http://blog.csdn.net/shangboerds/article/details/44175667
- 找规律/数位DP HDOJ 4722 Good Numbers
题目传送门 /* 找规律/数位DP:我做的时候差一点做出来了,只是不知道最后的 is_one () http://www.cnblogs.com/crazyapple/p/3315436.html 数 ...
- HTML6 展望
HTML5 概述 HTML5 是 HTML 语言最受欢迎的版本之一,它支持音频和视频.离线存储.移动端.和标签属性等等.还提供了<article>, <section>, &l ...
- silverlight 富文本
- C#创建桌面快捷方式 和 开机启动
/// <summary> /// 创建桌面快捷方式 2010-11-25 /// </summary> p ...