fMethod
ist ein Action<Fruit>
. Wenn fMethod
aufgerufen wird, ist der Parameter immer der letzte Eintrag von _Fruits
.
Wie löst man das?C# Aktion in Foreach
foreach(Fruit f in _Fruits)
{
field.Add(new Element(f.ToString(),delegate{fMethod(f);}));
}
möglich Duplikat [Gibt es einen Grund für C# 's Wiederverwendung der Variablen in einer foreach?] (Http://stackoverflow.com/questions/8898925/is-there-a-reason-for-cs- reuse-of-the-variable-in-a-foreach) – Joey