Hab*_*bib 13
是的,它会被调用.
using转换为try-finally块,因此即使在可恢复的异常Dispose被调用的情况下也是如此.
请参阅:使用语句C#
using语句确保即使在对象上调用方法时发生异常,也会调用Dispose.您可以通过将对象放在try块中然后在finally块中调用Dispose来实现相同的结果; 实际上,这就是编译器如何翻译using语句.
考虑SqlConnection哪个实现IDisposable接口,所以如下:
using (SqlConnection conn = new SqlConnection("connectionstring"))
{
//some work
}
Run Code Online (Sandbox Code Playgroud)
会被翻译成
{
SqlConnection conn = new SqlConnection("connectionstring");
try
{
//somework
}
finally
{
if (conn != null)
((IDisposable)conn).Dispose(); //conn.Dispose();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4365 次 |
| 最近记录: |