使用语句与IDisposable.Dispose()
据我了解,一旦代码退出代码块,.NET 中的using
语句就会调用IDisposable
对象的Dispose()
方法。
该using
语句还有其他作用吗?如果没有,似乎以下两个代码示例可以实现完全相同的效果:
Using Con as New Connection() Con.Open()
'do whatever '
End Using
Dim Con as New Connection()
Con.Open()
'do whatever '
Con.Dispose()
无论谁确认我是对的,或者指出我错了并解释原因,我都会给最好的答案。请记住,我知道某些类 可以 在其Dispose()
方法中 做不同的事情
。这个问题是关于using
语句是否达到与调用对象的Dispose()
方法完全相同的结果。
回答:
using
基本上等于:
try{
// code
}
finally
{
obj.Dispose();
}
因此,Dispose()
即使在块中的代码中引发了未处理的异常,它也具有调用的好处。
以上是 使用语句与IDisposable.Dispose() 的全部内容, 来源链接: utcz.com/qa/406805.html