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ÅŸ:
Modifiye Kapatma eriÅŸim (2)...
Dosyalarda grup değişken için erişim k...
Erişim için döngüler Python Endeksi...
İçinde döngüler JavaScript kapatma – b...
Nasıl Trello kullanıcı erişim'in ...