ฉันแค่อยากรู้ว่าวิธีการโทร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
จะ "ทำลาย" ขอบเขต - ดังนั้นวัตถุจะถูกกำจัดตามที่คาดไว้