Я просто хочу знати, чи це безпечний / хороший підхід для дзвінка 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"розіб'ють" область дії - отже об'єкти будуть віддалені, як очікувалося