感觉isDisposed这个变量完全没有必要,对象都释放了,这些判断完全多余?
class test : IDisposable
{
//感觉isDisposed完全没有必要。
bool isDisposed = false;
public void show()
{
//既然调用了Dispose,对象就被释放了,对象不存在了,
//这个方法也不能调用了?
if (isDisposed)
throw new ObjectDisposedException("xx");
}
public void Dispose()
{
//Dispose就调用一次,下面这个判断,感觉也没有必要。
if (isDisposed)
return;
isDisposed = true;
}
}test obj = new test();
obj.Dispose();
class test : IDisposable
{
//感觉isDisposed完全没有必要。
bool isDisposed = false;
public void show()
{
//既然调用了Dispose,对象就被释放了,对象不存在了,
//这个方法也不能调用了?
if (isDisposed)
throw new ObjectDisposedException("xx");
}
public void Dispose()
{
//Dispose就调用一次,下面这个判断,感觉也没有必要。
if (isDisposed)
return;
isDisposed = true;
}
}test obj = new test();
obj.Dispose();
obj.Dispose();调用了方法而已。而不是释放资源
感觉就是就像 一次性筷子我用过了 就是 Dispose()
你再用 也就是 Show() 你的大脑告诉你 别用 用过了 所以就抛出异常
那肯定的回答 是没有的如果你说这个有没有达到 我Dispose() 以后 无法再让他使用 那很肯定的说 有达到
“this.Dispose();恰好说明直接销毁窗体所打开的所有资源”
有点矛盾啊?
http://blog.csdn.net/sykpboy/archive/2005/04/11/342971.aspx