Отладка инициализатора объектов С#

Есть ли у кого-нибудь советы по отладке исключений в блоке инициализации объекта С#? Синтаксис инициализатора объекта в основном все или ничего, что может затруднить устранение неполадок внутри запроса LINQ. Не удалось ли вы разбить создание объекта на отдельный метод, есть ли что-нибудь, что я могу сделать, чтобы выяснить, какой набор свойств генерирует исключение?

Ответ 1

Отключение опции перехода по средствам настройки свойств [Перемещение по свойствам и операторам (только для управляемых)] позволяет вам войти в настройки свойств.

В противном случае наилучшим вариантом является просто разбить его и отладить его вне оператора LINQ. Вы можете перенести свои параметры инициализации в анонимный тип в linq и построить свой объект (-ы) вне вашего оператора linq для целей отладки.

Ответ 2

Установили ли вы, чтобы VS прерывался, когда генерируется исключение? (по умолчанию происходит разрыв только при необработанных исключениях). Отладка | Исключения и проверьте "брошен".

Возможно, это не ответ на ваш вопрос, но это может помочь в отладке.

Кроме того, вы можете временно вырвать свой код из блока инициализатора (только для отладки), а затем, если хотите, вы можете восстановить блок инициализации, как только у вас будет действующий код.

Ответ 3

Разбейте его из блока инициализатора объекта, в котором каждый параметр будет настроен отдельно. Таким образом, вы действительно можете войти в код.