隐藏调试器中的字段

是否可以隐藏字段和/或属性以显示在调试器监视窗口中? 看,我们这里有一个有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

这样你就不必用丑陋的属性修改你的类了,额外的好处是如果你确实需要查看其中一个“隐藏”字段,你可以随时查看真实类型。

您可以使用汽车而不是本地人或使用手表,只观看感兴趣的变量……