调试时,VS可以显示包含对象信息的工具提示:
它只显示值,因为它是一个基本的系统对象;
当我将鼠标悬停在更复杂的对象上时,它会显示一些属性:
请注意显示对象的X
和Y
属性的工具提示;
但当我将鼠标悬停在我创建的对象上时,......
...工具提示仅显示"完整路径"上课;
如何让VS显示工具提示,显示一些属性(如System.Drawing.Point
对象)?
答案 0 :(得分:6)
如果您因任何原因想要避免修改ToString()
的行为,可以选择其他方式。
使用[DebuggerDisplay(...)]
文档:https://docs.microsoft.com/en-us/visualstudio/debugger/using-the-debuggerdisplay-attribute
当您想要更改调试器显示您无法控制的类的信息时,此功能尤其有用。例如,我们有一个类DateRange
,我们想要更改调试器的显示方式,但我们无法修改类本身。好吧,我们可以这样做:
[assembly: DebuggerDisplay("[Start={StartDate}, End={EndDate}]", Target = typeof(DateRange))]
这一行会出现在AssemblyInfo.cs
。
答案 1 :(得分:0)
正如@SoronelHaetir评论的那样,VS使用ToString
。
只需重载ToString
即可。
修改强> 这仅在将鼠标悬停在变量上而不是在列表上时才有效。 @Amy's answer是正确的。