2010-09-10 5 views
0

J'ai lu sur l'attribut DebuggerBrowsable hier, et ça sonnait bien, mais quand j'ai essayé de le faire fonctionner dans un test, cela ne semble pas faire de différence. J'utilise VS la version 2008 9.0.30729 1 SP, .Net 3.5 SP1, cadre MSTestComment faire fonctionner DebuggerBrowsable RootHidden?

[TestClass] 
    public class TestingDebuggerBrowsable 
    { 
     [TestMethod] 
     public void JustToDemonstrateDebugging() 
     { 
      var foo = new MyExposedClass(); 
      foo.ToString(); // I put a breakpoint here, and debugged the test 
     } 

    } 

    public class MyExposedClass 
    { 
     public MyExposedClass() 
     { 
      ShouldBeSeeingThisInMyDebugger = new List<string> {"foo", "bar"}; 
     } 

     [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)] 
     public IList<string> ShouldBeSeeingThisInMyDebugger { get; set; } 
    } 

Quand je passe la souris sur foo, je reçois la représentation de la liste habituelle, où je dois forer vers le bas quelques niveaux aller aux éléments, pas différent que si j'avais omis l'attribut.

J'espérais juste passer ma souris sur la propriété ShouldBeSeeingThisInMyDebugger et voir les éléments de la collection.

EDIT: Il semble que cela fonctionne sur la machine de Jeroen, mais pas sur la mienne, malgré l'utilisation du même IDE et du même framework. Je serais intéressé d'entendre si quelqu'un d'autre a le même problème que moi.

Répondre

2

Avec l'attribut ajouté, vous obtenez:

foo            {Sample.MyExposedClass} 
    [0]           "foo" 
    [1]           "bar" 
    Raw View 

Sans att ribute vous obtenez:

foo            {Sample.MyExposedClass} 
    ShouldBeSeeingThisInMyDebugger    Count = 2 
     [0]          "foo" 
     [1]          "bar" 
    Raw View 

Donc, avec l'attribut ShouldBeSeeingThisInMyDebugger est omis (la racine est cachée). Juste comme l'attribut dit.

+0

Vous décrivez ce que j'espérais voir, mais pas ce que j'obtiens. Utilisez-vous la même version d'IDE et de framework que moi? Dans mon débogueur, l'ajout de l'attribut ne fait AUCUNE DIFFÉRENCE à ce que je vois. –

+0

Je cours VS 2008, version 9.0.30271.1 SP, Microsoft .NET Framework 3.5 SP 1. – Jeroen

+0

Curieux. Eh bien +1 pour essayer de toute façon, il doit y avoir une différence mystérieuse dans ma configuration de construction ou quelque chose qui l'empêche de fonctionner sur ma machine –

Questions connexes