« Les attributs Debugger » : différence entre les versions

De Banane Atomic
Aller à la navigationAller à la recherche
Aucun résumé des modifications
 
Aucun résumé des modifications
 
Ligne 1 : Ligne 1 :
[http://msdn.microsoft.com/en-us/library/ms228992.aspx MSDN]
[[Category:CSharp]]
=DebuggerDisplay=
= Liens =
* [http://msdn.microsoft.com/en-us/library/ms228992.aspx MSDN]
 
= 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.
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.
{|
 
!style="padding: 0 10px 0 0"| [[File:csharp.png|40px]]
<kode lang="csharp">
|
<syntaxhighlight lang="csharp">
[DebuggerDisplay("Name = {Name}")]
[DebuggerDisplay("Name = {Name}")]
class Person
class Person
Ligne 11 : Ligne 12 :
     public string Name { get; set; }
     public string Name { get; set; }
}
}
</syntaxhighlight>
</kode>
|}


Sans l'attribut : [[File:DebuggerDisplaySansAttribut.png]]<br/>
Sans l'attribut : [[File:DebuggerDisplaySansAttribut.png]]<br/>
Avec l'attribut : [[File:DebuggerDisplayAvecAttribut.png]]
Avec l'attribut : [[File:DebuggerDisplayAvecAttribut.png]]


=DebuggerBrowsable=
= 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.
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.
{|
<kode lang="csharp">
!style="padding: 0 10px 0 0"| [[File:csharp.png|40px]]
|
<syntaxhighlight lang="csharp">
class Person
class Person
{
{
Ligne 42 : Ligne 39 :
     public string Street { get; set; }
     public string Street { get; set; }
}
}
</syntaxhighlight>
</kode>
|}


Sans l'attribut : [[File:DebuggerBrowsableSansAttribut.png]]<br/><br/>
Sans l'attribut : [[File:DebuggerBrowsableSansAttribut.png]]<br/><br/>
Avec l'attribut : [[File:DebuggerBrowsableAvecAttribut.png]]
Avec l'attribut : [[File:DebuggerBrowsableAvecAttribut.png]]


=DebuggerTypeProxy=
= DebuggerTypeProxy =
Permet de forcer le debugger à afficher un objet dans un type particulier.
Permet de forcer le debugger à afficher un objet dans un type particulier.
[[Category:CSharp]]

Dernière version du 1 décembre 2019 à 01:43

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.