DebuggerDisplay – mały pomocnik

Czasami, gdy próbuję zdebugować jakiś uciążliwy problem istnieje konieczność oglądania właściwości obiektu.
Klikanie kolejnych plusików w wizualizacji debuggera w poszukiwaniu odpowiedniego obiektu na liście doprowadza mnie do szału (zwłaszcza, gdy klasy są dziedziczone).
Przy przeglądaniu namespace’a System.Diagnostics natknąłem się na atrybut: DebuggerDisplay. Krótka lektura MSDN i okazało się, że taka mała głupota może niesamowicie ułatwić życie :)

Weźmy pod lupę bardzo prosta klasę:

    [Serializable]
    public class Part
    {
        public string PartSeries { get; set; }
        public string PartNumber { get; set; }

         ...
    }

Jak prezentuje się w debuggerze podgląd listy naszych części? Ano tak:

Jeśli nie znamy pozycji naszego elementu musimy uprawiać zawody w klikaniu mychą w celu znalezienia interesującego nas elementu. Jak ułatwić sobie życie?
Dodając do klasy atrybut DebuggerDisplay:

    [Serializable]
    [System.Diagnostics.DebuggerDisplay("Part number = {PartNumber}, Part series = {PartSeries} ")]
    public class Part
    {
        public string PartSeries { get; set; }
        public string PartNumber { get; set; }
        ...
    }

Wizualizacja naszej kolekcji wygląda teraz następująco:

Prawda, że lepiej i wygodniej :) ?
Nie będę rozwodził się nad wszystkimi opcjami jakie udostępnia ten atrybut, gdyż bardzo dobrze (wraz z przykładami) opisany jest on na MSDN.

Miłego debugowania! ;)


Nie znaleziono podobnych wpisów.

Możesz śledzić odpowiedzi do tego wpisu za pomocą RSS 2.0 feed. Możesz leave a response, or trackback z Twojej własne strony.

Komentarze: 5 »

 
 

Dodaj komentarz

XHTML: Możesz użyć następujących tagów: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

*