Отладка инициализатора объекта C # - PullRequest
11 голосов
/ 18 мая 2009

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

Ответы [ 3 ]

14 голосов
/ 18 мая 2009

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

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

4 голосов
/ 18 мая 2009

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

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

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

1 голос
/ 18 мая 2009

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

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