Tôi chỉ muốn biết cách gọi returnbên trong một usingkhối có an toàn / tốt hay không.
Đối với người yêu cũ.
using(var scope = new TransactionScope())
{
// my core logic
return true; // if condition met else
return false;
scope.Complete();
}
Chúng ta biết dấu ngoặc nhọn cuối cùng dispose()sẽ bị tắt. Nhưng điều gì sẽ xảy ra trong trường hợp trên, vì returnnhảy điều khiển ra khỏi phạm vi đã cho (AFAIK) ...
- Tôi
scope.Complete()có được gọi không? - Và đối với
dispose()method của scope cũng vậy .
using{}phạm vi kết thúc, các đối tượng liên quan được xử lý,returnsẽ "phá vỡ" phạm vi - vì vậy các đối tượng sẽ bị xử lý như mong đợi