public class Photo : IDisposable{//在Finalize函数中调用内部的Dispose方法 ~Photo() { //被自动回收时仅释放托管资源,不释放非托管资源 Dispose(false); } //提供了自命名的释放资源方法 ...
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#代码小记
关键词:C#
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。