Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction manuelle. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte.
Traduction
Source

DebuggerDisplayAttribute, classe

Détermine l'affichage d'une classe ou d'un champ dans les fenêtres des variables du débogueur.

System.Object
  System.Attribute
    System.Diagnostics.DebuggerDisplayAttribute

Espace de noms :  System.Diagnostics
Assembly :  mscorlib (dans mscorlib.dll)

[AttributeUsageAttribute(AttributeTargets.Assembly|AttributeTargets.Class|AttributeTargets.Struct|AttributeTargets.Enum|AttributeTargets.Property|AttributeTargets.Field|AttributeTargets.Delegate, AllowMultiple = true)]
[ComVisibleAttribute(true)]
public sealed class DebuggerDisplayAttribute : Attribute

Le type DebuggerDisplayAttribute expose les membres suivants.

  NomDescription
Méthode publiqueDebuggerDisplayAttributeInitialise une nouvelle instance de la classe DebuggerDisplayAttribute.
Début

  NomDescription
Propriété publiqueNameObtient ou définit le nom à afficher dans les fenêtres des variables du débogueur.
Propriété publiqueTargetObtient ou définit le type de la cible de l'attribut.
Propriété publiqueTargetTypeNameObtient ou définit le nom de type de la cible de l'attribut.
Propriété publiqueTypeObtient ou définit la chaîne à afficher dans la colonne de type des fenêtres des variables du débogueur.
Propriété publiqueTypeIdLors de son implémentation dans une classe dérivée, obtient un identificateur unique pour Attribute. (Hérité de Attribute.)
Propriété publiqueValueObtient la chaîne à afficher dans la colonne valeur des fenêtres des variables du débogueur.
Début

  NomDescription
Méthode publiqueEqualsInfrastructure. Retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.)
Méthode protégéeFinalize Autorise un objet à tenter de libérer des ressources et d'exécuter d'autres opérations de nettoyage avant qu'il ne soit récupéré par l'opération garbage collection. (Hérité de Object.)
Méthode publiqueGetHashCodeRetourne le code de hachage pour cette instance. (Hérité de Attribute.)
Méthode publiqueGetTypeObtient le Type de l'instance actuelle. (Hérité de Object.)
Méthode publiqueIsDefaultAttributeEn cas de substitution dans une classe dérivée, indique si la valeur de cette instance est la valeur par défaut pour la classe dérivée. (Hérité de Attribute.)
Méthode publiqueMatchEn cas de substitution dans une classe dérivée, retourne une valeur indiquant si cette instance équivaut à un objet spécifié. (Hérité de Attribute.)
Méthode protégéeMemberwiseCloneCrée une copie superficielle de l'objet Object actif. (Hérité de Object.)
Méthode publiqueToStringRetourne une chaîne qui représente l'objet actuel. (Hérité de Object.)
Début

  NomDescription
Implémentation d'interface expliciteMéthode privée_Attribute.GetIDsOfNamesMappe un jeu de noms avec un jeu correspondant d'identificateurs de dispatch. (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée_Attribute.GetTypeInfoRécupère les informations de type pour un objet, qui peuvent être utilisées pour obtenir les informations de type d'une interface. (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée_Attribute.GetTypeInfoCountRécupère le nombre d'interfaces d'informations de type fourni par un objet (0 ou 1). (Hérité de Attribute.)
Implémentation d'interface expliciteMéthode privée_Attribute.InvokeFournit l'accès aux propriétés et aux méthodes exposées par un objet. (Hérité de Attribute.)
Début

Le constructeur DebuggerDisplayAttribute possède un argument unique : une chaîne à afficher dans la colonne valeur pour les instances du type. Cette chaîne peut contenir des accolades ({ et }). Le texte entre accolades est évalué en tant que nom d'un champ, d'une propriété ou d'une méthode. Par exemple, le code C# suivant entraîne l'affichage de "Count = 4" lorsque le signe plus (+) est sélectionné pour développer l'affichage de débogueur pour une instance de MyHashtable.

[DebuggerDisplay("Count = {count}")]
class MyHashtable
{
    public int count = 4;
}

Pour plus d'informations sur l'utilisation de cet attribut dans Visual Studio, consultez Utilisation de l'attribut DebuggerDisplay.

Reportez-vous à l'exemple suivant dans Visual Studio pour consulter les résultats de l'application de l'DebuggerDisplayAttribute.


using System;
using System.Collections;
using System.Diagnostics;
using System.Reflection;

class DebugViewTest
{
    // The following constant will appear in the debug window for DebugViewTest.
    const string TabString = "    ";
    // The following DebuggerBrowsableAttribute prevents the property following it
    // from appearing in the debug window for the class.
    [DebuggerBrowsable(DebuggerBrowsableState.Never)]
    public static string y = "Test String";

    static void Main()
    {
        MyHashtable myHashTable = new MyHashtable();
        myHashTable.Add("one", 1);
        myHashTable.Add("two", 2);
        Console.WriteLine(myHashTable.ToString());
        Console.WriteLine("In Main.");
    }
}
[DebuggerDisplay("{value}", Name = "{key}")]
internal class KeyValuePairs
{
    private IDictionary dictionary;
    private object key;
    private object value;

    public KeyValuePairs(IDictionary dictionary, object key, object value)
    {
        this.value = value;
        this.key = key;
        this.dictionary = dictionary;
    }
}
[DebuggerDisplay("Count = {Count}")]
[DebuggerTypeProxy(typeof(HashtableDebugView))]
class MyHashtable : Hashtable
{
    private const string TestString = "This should not appear in the debug window.";

    internal class HashtableDebugView
    {
        private Hashtable hashtable;
        public const string TestString = "This should appear in the debug window.";
        public HashtableDebugView(Hashtable hashtable)
        {
            this.hashtable = hashtable;
        }

        [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)]
        public KeyValuePairs[] Keys
        {
            get
            {
                KeyValuePairs[] keys = new KeyValuePairs[hashtable.Count];

                int i = 0;
                foreach(object key in hashtable.Keys)
                {
                    keys[i] = new KeyValuePairs(hashtable, key, hashtable[key]);
                    i++;
                }
                return keys;
            }
        }
    }
}


.NET Framework

Pris en charge dans : 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Windows 7, Windows Vista SP1 ou ultérieur, Windows XP SP3, Windows XP SP2 Édition x64, Windows Server 2008 (installation minimale non prise en charge), Windows Server 2008 R2 (installation minimale prise en charge avec SP1 ou version ultérieure), Windows Server 2003 SP2

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.

Ajouts de la communauté

AJOUTER
Afficher:
© 2015 Microsoft