我只想知道return
在using
块内调用的安全/良好方法。
对于前。
using(var scope = new TransactionScope())
{
// my core logic
return true; // if condition met else
return false;
scope.Complete();
}
我们知道最后一个大括号 dispose()
将被取消。但是在上述情况下会发生什么,因为return
将控件跳出了给定范围(AFAIK)...
- 我
scope.Complete()
叫我吗? - 对于示波器的
dispose()
方法也是如此。
using{}
范围结束,相关对象将被处置,return
将“破坏”范围-因此这些对象将按预期处置