Tôi chỉ muốn biết cách gọi return
bên trong một using
khố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ì return
nhả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ý,return
sẽ "phá vỡ" phạm vi - vì vậy các đối tượng sẽ bị xử lý như mong đợi