如何让DebuggerBrowsable RootHidden工作?
我昨天读到了DebuggerBrowsable属性,听起来很棒,但是当我试图让它在测试中工作时,它似乎没有任何区别。 我正在使用VS 2008版本9.0.30729 1 SP,.Net 3.5 SP1,MSTest框架
[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 {"foo", "bar"}; } [DebuggerBrowsable(DebuggerBrowsableState.RootHidden)] public IList ShouldBeSeeingThisInMyDebugger { get; set; } }
当我将鼠标hover在foo上时,我得到了通常的Listation of List,我必须向下钻取几个级别来获取元素,与省略属性没什么不同。
我希望将鼠标hover在ShouldBeSeeingThisInMyDebugger属性上,然后查看集合的元素。
编辑:尽管使用相同的IDE和框架,似乎这是在Jeroen的机器上工作,但不是我的机器。 我很想知道是否有其他人和我有同样的问题。
添加属性后,您将获得:
foo {Sample.MyExposedClass} [0] "foo" [1] "bar" Raw View
如果没有您获得的属性:
foo {Sample.MyExposedClass} ShouldBeSeeingThisInMyDebugger Count = 2 [0] "foo" [1] "bar" Raw View
因此省略了属性ShouldBeSeeingThisInMyDebugger
(隐藏了根)。 正如属性所说的那样。
根据MSDN,它说RootHidden只会隐藏根元素并扩展子项目以显示当你将鼠标hover在它上面时 –
这是另一个解释每个属性的作用的链接 –