使用语句与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

回到顶部