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