隐藏调试器中的字段
是否可以隐藏字段和/或属性以显示在调试器监视窗口中? 看,我们这里有一个有50多个私人领域的课程,其中大部分是通过公共场所公开的。 这意味着我们在观察窗口列表中看到了大量数据的重复。
有没有办法控制这个?
试试这个属性:
[DebuggerBrowsable(DebuggerBrowsableState.Never)]
使用它来隐藏您的支持字段,方法是将属性放在字段声明上方,如下所示:
class Foo { [DebuggerBrowsable(DebuggerBrowsableState.Never)] int bar; // this one will be hidden int baz; // but this one will be visible like normal }
请记住, DebuggerBrowsableState
枚举还有两个其他成员:
Collapsed:
折叠调试器中的元素。
RootHidden:
显示集合的子元素,但隐藏根元素本身。
查看DebuggerBrowsableAttribute:
http://msdn.microsoft.com/en-us/library/system.diagnostics.debuggerbrowsableattribute.aspx
实际上,本文对此领域有一些非常有用的提示:
http://msdn.microsoft.com/en-us/magazine/cc163974.aspx
您可能会发现使用DebuggerTypeProxy更有意义。 这允许您提供该类型的“自定义视图”。
DebuggerBrowsableAttribute在其他SO问题中有所涉及。 如果你正在大量使用C#,那么这是一个很好的问题。
我知道这是旧的,但使用DebuggerTypeProxy会更好.http: //msdn.microsoft.com/en-us/library/d8eyd8zc.aspx
这样你就不必用丑陋的属性修改你的类了,额外的好处是如果你确实需要查看其中一个“隐藏”字段,你可以随时查看真实类型。
您可以使用汽车而不是本地人或使用手表,只观看感兴趣的变量……