foreach бросить исключение BadImageFormatException - PullRequest
0 голосов
/ 30 мая 2018

У меня есть универсальный класс с полем 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()), но объясню, почему это произошло

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...