Visual Studio 2022 忽略了我的一个类的“DebuggerDisplay”属性,我非常感谢您帮助找出原因。我有几个使用
[DebuggerDisplay("{DebuggerString}")]
的类,包括从 VM
继承的其他类,并且所有这些类在调试期间都正确显示各自 DebuggerString
属性的当前值,除了这个,它始终显示“ImageRefreshTrigger = 0”作为调试器值。
相关代码片段如下:
namespace SynthEBD;
[DebuggerDisplay("{DebuggerString}")]
public class VM_SubgroupPlaceHolder : VM, ICloneable
{
...
public int ImageRefreshTrigger { get; set; } = 0;
public string ID { get; set; }
public string Name { get; set; }
...
public string DebuggerString
{
get
{
return ID + ": " + Name;
}
}
...
}
完整代码可在 GitHub 页面获取。预先感谢您的建议!
您还应该检查是否没有固定要为类显示的一组属性。如果有,它将覆盖 DebuggerDisplay 属性规范。
在断点处,右键单击类对象的实例并将其添加到“监视”窗口。如果您已固定元素,请清除固定。您想要的属性列表现在应该出现。
我花了很长时间和一些运气才弄清楚为什么我的一个班级的显示不起作用。