Когда мы должны использовать атрибуты DebuggerDisplay? В чем преимущество использования этого? - PullRequest
2 голосов
/ 25 февраля 2010

Когда мы должны использовать атрибуты DebuggerDisplay? В чем преимущество использования этого?

Ответы [ 3 ]

5 голосов
/ 25 февраля 2010

Эта статья объясняет это хорошо. Вы можете использовать этот атрибут в своих классах для отображения более значимого текста при отладке. Например: Предположим, у вас есть следующий класс:

[DebuggerDisplay("x = {x} y = {y}")]    
MyClass
{
    private int x;
    private int y;
    ...
}

Как только вы отлаживаете экземпляр MyClass в отладчике Visual Studio и наводите курсор на него (или помещаете его в окно просмотра, вы больше не видите "MyClass", а вместо этого "x = 4 y = 5" (при условии, что x и y этого Экземпляр в настоящее время имеет это значение. Это просто пример, который вы можете сделать гораздо больше, как объясняет статья.

2 голосов
/ 25 февраля 2010

Чтобы ответить на ваш вопрос, когда вы должны его использовать, я рекомендую для каждого отдельного класса, который является бизнес-объектом, имеет свойства данных, которые имеют значение. Особенно важно это для любого класса, который будет внутри коллекции. Так как классы, которые находятся внутри коллекции, когда вы расширяете представление результатов, вы увидите только полное имя типа и должны будут раскрывать каждый результат индивидуально, чтобы увидеть, какой это элемент.

Однако, когда вы используете атрибут DebuggerDisplay, вы можете видеть свойства, которые вы считаете наиболее важными, прямо в окне результатов окна быстрого просмотра при отладке кода, содержащего коллекции.

1 голос
/ 25 февраля 2010

Атрибут DebuggerDisplay устанавливает способ отображения класса или поля при просмотре класса или поля в отладчике.

Например, вместо того, чтобы видеть, что переменная имеет тип Address, вы можете заставить отладчик фактически отображать адрес, который хранит объект.

Это просто делает отладку немного проще! Когда отладка становится проще - жизнь программиста становится намного приятнее! ; -)

...