Les attributs Debugger

De Banane Atomic
Aller à la navigationAller à la recherche
La version imprimable n’est plus prise en charge et peut comporter des erreurs de génération. Veuillez mettre à jour les signets de votre navigateur et utiliser à la place la fonction d’impression par défaut de celui-ci.

Liens

DebuggerDisplay

Par défaut, le debugger affiche le résultat de la méthode ToString. Cet attribut permet de définir ce que va afficher le debugger sans avoir besoin de redéfinir la méthode ToString. L'attribut DebuggerDisplay à la priorité sur le surcharge de ToString.

Csharp.svg
[DebuggerDisplay("Name = {Name}")]
class Person
{
    public string Name { get; set; }
}

Sans l'attribut : DebuggerDisplaySansAttribut.png
Avec l'attribut : DebuggerDisplayAvecAttribut.png

DebuggerBrowsable

Par défaut, le debugger affiche tous les champs et propriétés. Cet attribut permet de définir ce qui va être afficher et comment.

Csharp.svg
class Person
{
    public string Name { get; set; }

    // Les sous-éléments de cette propriété seront affichés 
    // au lieu de la propriété elle-même
    [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
    public Adress Adress { get; set; }

    // Cette propriété ne sera pas affichée
    [DebuggerBrowsable(DebuggerBrowsableState.Never)]
    public int Age { get; set; }
}

class Adress
{
    public int Number { get; set; }
    public string Street { get; set; }
}

Sans l'attribut : DebuggerBrowsableSansAttribut.png

Avec l'attribut : DebuggerBrowsableAvecAttribut.png

DebuggerTypeProxy

Permet de forcer le debugger à afficher un objet dans un type particulier.