读书人

关于IDisposeable的有关问题

发布时间: 2012-02-15 12:09:44 作者: rapoo

关于IDisposeable的问题
public MyClass : IDisposeable
{
private bool hasDisposed = false;
public void Dispose()
{
Dispose(true)
GC.SuppressFinalize(this);//告诉CLR不需要再调用析构函数
}
protected virtual void Dispose(bool disposing)
{
if(!hasDispose)
{
if(disposing)
{
// 释放托管资源
}
// 释放非托管资源
}
hasDispose = true;
}
~MyClass()
{
Dispose(false);
}
}


我有3个不明白的地方:
1:为什么还要重载一个Dispose(bool)呢?只在必须实现的void Dispose()中去释放资源不可以吗?
2:请问所有继承自IDisposeable的类都需要多重载一个Dispose(bool)吗?
2:有谁可以按照这个程序帮我填一下具体的代码,我不知道该如何补充代码。我想看看有什么代码可以将这个程序呈现出来。(就是个简单的Demo就OK)


[解决办法]
2. 请问所有继承自IDisposeable的类都需要多重载一个Dispose(bool)吗?

其实并不见得一定要这样做,只不过这样做可能更完善些

3.有谁可以按照这个程序帮我填一下具体的代码,我不知道该如何补充代码。我想看看有什么代码可以将这个程序呈现出来

.NET框架程序设计有一个模拟的例子,可参考

读书人网 >C#

热点推荐