Атрибут DebuggerStepThrough позволяет пропустить нарушение определенных методов/классов/свойств.
В DebuggerStepThrough игнорируется, выясняется, что компилятор С# не наследует этот атрибут в сгенерированной компилятором реализацию IEnumerable<T>
.
Тривиальный пример такого отказа:
static void Main(string[] args)
{
var a = SkipMe().ToList();
}
[System.Diagnostics.DebuggerStepThrough]
static IEnumerable<int> SkipMe()
{
// comment out line below and the throw will be stepped over.
yield return 1;
throw new Exception();
}
Есть ли способ заставить компилятор С# добавить атрибут DebuggerStepThrough
к автоматически созданному типу?
Есть ли способ получить визуальную студию для пропуска отладки в любые типы с помощью атрибута [CompilerGenerated]
?
-
Добавление: некоторые иллюстративные скриншоты
Результат после нажатия F5
Версия Visual Studio:
Наш недостающий атрибут: