У меня есть универсальный класс с полем private Dictionary<int, List<T>> items;
Я был шокирован, получив исключение в этой ситуации, я использую эту логику все время, пока я программирую, но сегодня она не работает "должным образом""
Следующий пример достигает LOG 1
, и я получаю исключение BadImageFormatException, но почему?
class MyClass2<T> where T : MyClass1
{
private Dictionary<int, List<T>> items;
public List<T> GetAll()
{
var result = new List<T>();
if (items != null )
{
//LOG 1
foreach (int key in this.items.Keys)
{
//LOG 2
var value = this.items[key];
if (value != null && value.Count > 0)
{
result.AddRange(value);
}
}
//LOG 3
}
return result;
}
}
Я решил эту проблему с помощью следующего кода foreach (int key in this.items.Keys.ToList())
, но объясню, почему это произошло