2010-05-21 3 views
0

Есть две проблемы с [DebuggerBrowsable]. Во-первых, это должно быть на всех ваших полях. И во-вторых, если вы используете автоматические свойства, у вас нет полей.Скрытие частных полей без использования атрибутов

Есть ли способ (временно) заставить отладчик показывать только общедоступные свойства или, по крайней мере, скрывать автоматически сгенерированное поле поддержки свойств C#? Возможно, я мечтаю, но, возможно, даже группирую их, как инструмент диаграммы классов?

ответ

0

Не знаете, почему вы хотите это сделать, позволяя отладчику заглянуть в ваши личные части, может быть довольно важным при отладке. Если не считать переопределения метода ToString(), используйте вместо этого атрибут [DebuggerVisualizer]. Довольно удобно представить птичьего видения состояния объекта и по-прежнему позволять разбудить рядовых, когда вам нужно.

+0

И я согласен, однако, когда у вас есть объекты данных с десятками полей, которые видят ' k__BackingField', все это затрудняет просмотр/поиск того, о чем вы заботитесь. И теги атрибутов splattering по всем вашим объектам данных делают их одинаково трудными для работы. –

+0

Ну, вот почему [DebuggerVisualizer] есть. Вы применяете его к классу, а не к каждому отдельному участнику. –

+0

Я проверил C# express 2008 у себя дома, и он показывает свойства как просто свойства (неявное поле поддержки не показано). Поэтому я думаю, что это был неправильный вопрос для меня. В связи с этим вопросом этот [DebuggerVisualiser], вероятно, является правильным ответом. –

Смежные вопросы