Есть ли у кого-нибудь советы по отладке исключений в блоке инициализации объекта С#? Синтаксис инициализатора объекта в основном все или ничего, что может затруднить устранение неполадок внутри запроса LINQ. Не удалось ли вы разбить создание объекта на отдельный метод, есть ли что-нибудь, что я могу сделать, чтобы выяснить, какой набор свойств генерирует исключение?
Отладка инициализатора объектов С#
Ответ 1
Отключение опции перехода по средствам настройки свойств [Перемещение по свойствам и операторам (только для управляемых)] позволяет вам войти в настройки свойств.
В противном случае наилучшим вариантом является просто разбить его и отладить его вне оператора LINQ. Вы можете перенести свои параметры инициализации в анонимный тип в linq и построить свой объект (-ы) вне вашего оператора linq для целей отладки.
Ответ 2
Установили ли вы, чтобы VS прерывался, когда генерируется исключение? (по умолчанию происходит разрыв только при необработанных исключениях). Отладка | Исключения и проверьте "брошен".
Возможно, это не ответ на ваш вопрос, но это может помочь в отладке.
Кроме того, вы можете временно вырвать свой код из блока инициализатора (только для отладки), а затем, если хотите, вы можете восстановить блок инициализации, как только у вас будет действующий код.
Ответ 3
Разбейте его из блока инициализатора объекта, в котором каждый параметр будет настроен отдельно. Таким образом, вы действительно можете войти в код.