SORU
24 EKİM 2008, Cuma


Modifiye Kapatma erişim

string [] files = new string[2];
files[0] = "ThinkFarAhead.Example.Settings.Configuration_Local.xml";
files[1] = "ThinkFarAhead.Example.Settings.Configuration_Global.xml";

//Resharper complains this is an "access to modified closure"
for (int i = 0; i < files.Length; i   )
{
    // Resharper disable AccessToModifiedClosure
    if(Array.Exists(Assembly.GetExecutingAssembly().GetManifestResourceNames(),
    delegate(string name) { return name.Equals(files[i]); }))
         return Assembly.GetExecutingAssembly().GetManifestResourceStream(files[i]);
    // ReSharper restore AccessToModifiedClosure
}

Yukarıdaki ReSharper bu şikayet ediyor ama iyi iş gibi görünüyor "değiştirildi kapatılması için erişim". Herhangi bir konuyu aydınlatabilir mi?

(bu konuya devam here)

CEVAP
24 EKİM 2008, Cuma


Bu durumda, aslında temsilci yürütme beri sorun yokiçindedöngü.

Eğer temsilci kaydetme ve daha sonra kullanıyorsanız, ancak, delegelerin tüm dosyalar[i] - yakalama onlar erişmeye çalışırken özel durum olacağını bulmak istiyorumdeğişkeni yerine temsilciler oluşturma zaman değeri.

Kısacası, bir farkında olması gereken bir şeypotansiyeltuzak, ama bu durumda sana zarar vermez.

Sonuçlar beklenilenin tersine daha karmaşık bir örnek için bottom of this page bkz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Greater Than Gatsby Photoshop Actions & Lightroom Presets

    Greater Than

    11 ŞUBAT 2013
  • MysteryGuitarMan

    MysteryGuita

    16 HAZİRAN 2006
  • tunez4you

    tunez4you

    20 EKİM 2008