Bu iyi bir yaklaşım kullanarak içinde geri aramak için {} deyimi? | Netgez.com
SORU
2 AÄžUSTOS 2012, PERÅžEMBE


Bu iyi bir yaklaşım kullanarak içinde geri aramak için {} deyimi?

Sadece using bir blok içinde return aramak için güvenli bir iyi bir yaklaşım olduğunu bilmek istiyorum.

Eski için.

using(var scope = new TransactionScope())
{
  // my core logic
  return true; // if condition met else
  return false;
  scope.Complete();
}

En son kıvırcık kaşlı dispose() iptal olacak biliyoruz. Ama return beri yukarıdaki durumda ne olacağı verilen kapsam (AFAIK) denetim kaçmış...

  1. Benim 7 ** denir?
  2. Ve kapsamı dispose() yöntemi.

CEVAP
2 AÄžUSTOS 2012, PERÅžEMBE


Kullanarak bir blok try/finally sadece bir blok olduğundan son derece güvenli using blok içinde return Ara.

Örnek döndükten sonra yukarıda true kapsam bertaraf edecek ve kendi değer döndürdü. return false scope.Complete()değilaradı. Dispose ancak sonunda blok içinde bulunduğundan bağımsız olarak verilir.

Kodunuzu aslında bu daha kolay anlamak için yapar () aynıdır:

var scope = new TransactionScope())
try
{
  // my core logic
  return true; // if condition met else
  return false;
  scope.Complete();
}
finally
{
  if( scope != null) 
    ((IDisposable)scope).Dispose();
}

İşlem olacağını lütfen unutmayınaslascope.Complete() hareketi tamamlamak için almak için bir yol yok gibi işlemek.

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • ★ByScrapi★ Designs

    ★ByScrapiâ

    27 AÄžUSTOS 2013
  • CodingMadeEasy

    CodingMadeEa

    25 EYLÃœL 2010
  • MrOctopi

    MrOctopi

    6 Aralık 2010