У меня есть функция с лямбда-выражение что-то вроде:функции # Debugging C, которые содержат лямбда-выражения
int maxOccurrences = (from field in data select field).Max(f => f.Occurrences)
P.S. Я уверен, что есть более симпатичная/более аккуратная/более идиоматическая версия вышеупомянутого утверждения, было бы неплохо узнать, что это может быть, хотя это не важно для вопроса!
Если я изменить что-нибудь еще в функции во время отладки сказать Console.Write
выражение, отладчик состояний:
модифицирования «метод», который содержит лямбда-выражение предотвратит сеанс отладки продолжать то время как Изменить и продолжить включен.
Мне было интересно, почему это может быть так?
Я бы подумал, что IL, сгенерированный для функции lamba и оператора Console.Write
, будет отдельным и что отладчик может изменять и изменять, когда это необходимо. Есть ли какая-то фундаментальная концепция, которую я теряю в отношении функциональности lamda?
Если это так просто, вы должны предоставить пример кода;) помните, что это не просто для всех. – ForceMagic
Я согласен с ForceMagic – Mastro
Вы не можете использовать анонимный на месте с момента: «_availableTypeCache.FirstOrDefault (delegate (Type t) {return t;}) Выражение не может содержать анонимные методы« Вы должны отказаться от LINQ с var, который выходит за рамки вызова LINQ. –