实现 IDisposable 接口的好处
2009-03-29 12:00
211 查看
可以通过调用 Dispose 方法,来显式的释放资源。
当托管对象不再使用时,垃圾回收器会自动释放分配给该对象的内存,不过进行垃圾回收的时间不可预知。而且,垃圾回收器对窗口句柄、打开的文件和流等非托管资源一无所知。
当不再需要某对象时,对象的使用者可以通过调用 Dispose 方法(垃圾回收器释放资源时也是调用该方法)来显式的释放托管和非托管资源。
实现了 IDisposable 接口的对象,可以用 using 语句来方便的释放资源。
using (TestObject testObject = new TestObject())
{
// 使用对象
}
看看上面的代码比使用 try/catch/finally 要简洁多:
TestObject testObject;
try
{
testObject = new TestObject();
// 使用对象
}
catch (Exception e)
{
// 处理异常
}
finally
{
testObject.Dispose();
}
当托管对象不再使用时,垃圾回收器会自动释放分配给该对象的内存,不过进行垃圾回收的时间不可预知。而且,垃圾回收器对窗口句柄、打开的文件和流等非托管资源一无所知。
当不再需要某对象时,对象的使用者可以通过调用 Dispose 方法(垃圾回收器释放资源时也是调用该方法)来显式的释放托管和非托管资源。
实现了 IDisposable 接口的对象,可以用 using 语句来方便的释放资源。
using (TestObject testObject = new TestObject())
{
// 使用对象
}
看看上面的代码比使用 try/catch/finally 要简洁多:
TestObject testObject;
try
{
testObject = new TestObject();
// 使用对象
}
catch (Exception e)
{
// 处理异常
}
finally
{
testObject.Dispose();
}
相关文章推荐
- 实现 IDisposable 接口的好处
- 实例化一个子类对象赋给父类对象引用或一个实现了接口的类的对象赋给接口的引用的好处
- Mono 继承一些特殊接口中带有 IJavaObject, IDisposable 接口的实现方法
- 正确实现 IDisposable 接口
- Net如何继承IDisposable接口,实现自己的Dispose()函数
- 正确实现 IDisposable 接口
- 正确实现 IDisposable 接口
- 实现接口IDisposable的示例
- C#正确实现IDisposable接口
- 实现IDisposable接口,手动完成资源回收
- C# 中正确实现 IDisposable 接口
- 实现IDisposable接口的方式和实际应用
- 实现ModelDriven接口的好处
- 正确实现 IDisposable 接口(转)
- 完全理解 IDisposable 接口的实现
- 正确实现 IDisposable 接口
- C#中using以及实现接口IDisposable的使用方法
- c#之如何正确地实现IDisposable接口
- IDisposable 接口实现模板
- 显示实现接口的好处c#比java好的地方