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

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

3 ответа

Решение

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

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

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

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

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

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

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

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

Другие вопросы по тегам