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

C#中using以及实现接口IDisposable的使用方法

2012-06-21 10:46 811 查看
一、定义一个类让其实现接口IDisposable

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace testDispose
{
class consoleDispose:IDisposable
{
private bool disposed = false;
public consoleDispose()
{ }
public void Dispose()
{
Dispose(true);
GC.SuppressFinalize(this);//系统不再去调用Finalize方法,以便重复调用
}
protected virtual void Dispose(bool isDisposing)
{
if (!disposed)
{
if (isDisposing)
{
Console.WriteLine("释放托管资源");
}
Console.WriteLine("释放非托管资源");
}
disposed = true;
}
~consoleDispose()//这个析构函数会调用base.Finalize();
{
Dispose(false);
}
}
}

二、应用端使用using

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace testDispose
{
class Program
{
static void Main(string[] args)
{
using (consoleDispose cd = new consoleDispose())//注意推出using的范围之后就是调用Dispose方法,而退出应用程序就是调用析构函数
{
Console.WriteLine("请按任意键推出...");
Console.ReadKey();
}
}
}
}

三、输出结果
释放托管资源(这个是在退出using范围后调用的)
释放非托管资源(这个是在退出应用程序后调用的)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐