C#覆盖ToString,以便在调试器中显示多行内容文本

时间:2011-12-19 14:21:33

标签: c# debugging tostring multiline

当我在debuger中鼠标悬停某个变量时,如何覆盖ToString方法中的字符串并格式化以获取多行调试消息。目前,当我返回多行字符串(由\r\n分隔)时,它仍然在调试器中以单行结束。

4 个答案:

答案 0 :(得分:7)

你可以为你的类型写一个debugger visualizer。根据您的需要,这当然可能有点过头了。

正如@dtb在评论中所说,有一个开箱即用的可视化工具可能足以满足您的需求:

  

有一个可视化工具,可以显示文字和荣誉换行符。您可以   从工具提示中的放大镜图标访问它。这只是   工具提示,以C#字符串文字语法显示字符串

答案 1 :(得分:1)

调试器窗口从值中删除换行符。

如果要查看换行符,请在立即窗口中打印该值。

答案 2 :(得分:1)

考虑使用DebuggerDisplay attribute,它提供了更多选项。

答案 3 :(得分:0)

查看DebuggerDisplayAttribute,它可以让您更好地控制调试器中显示的内容。但不确定它是否允许使用多行文本。