【发布时间】:2013-12-13 13:41:30
【问题描述】:
假设我有一个对象:
[DebuggerDisplay("Bar={bar}")]
public class Foo
{
public String bar{get;set;}
}
当我有一个 bar 实例时,调试器会正确显示 Bar="value of bar"
但是当我有一本Foos 的字典时,字典显示:
{[key, namespace.Foo]}
当我展开 kvp 时,我得到了预期的调试器显示字符串。
当我在Foo 中覆盖ToString() 并拥有Foo 的字典时
字典显示:
{[key, Bar="value of bar"]}
根据文档,ToString() 仅在 DebuggerDisplay 属性未覆盖它时用于调试器显示...
除了单个实例之外,如何获取 debuggerDisplay 属性以覆盖枚举情况下的调试器字符串?
【问题讨论】:
-
您必须创建自己的派生自
IDictionary<TKey, TValue>的类型,并将其归因于DebuggerDisplayAttribute
标签: c# visual-studio debugging visual-studio-2012