C#中自定义class在调试时如何定制对象显示的内容
2024-08-05
93
问题描述
在C#中,单步调试程序时,鼠标指上去就可以看到对象的值,比如string类型,鼠标指上去就可以看到字符串的类容,而自定义的class,当鼠标指向对象时默认是看不到类的属性的值的,只能将类展开才能看到,有没有办法可以在鼠标悬停上去后或者在局部变量窗口中直接能看到对象中感兴趣的属性的值呢?
实现方法
C#在System.Diagnostics中提供了一些调试辅助的类,我们这里要实现前面所说的功能的类就是DebuggerDisplayAttribute,新建一个测试调试的类如下:
class DebugClass
{
public string item1 { get; set; }
public string item2 { get; set; }
}
此时调试时,创建该类的对象,当鼠标悬停到对象上是无法看待item1和item2的值的,如下图:
我们对以上类的定义修改如下:
[DebuggerDisplay(item1 = {item1}, item2 = {item2})]
class DebugClass
{
public string item1 { get; set; }
public string item2 { get; set; }
}
然后,再调试时,就可以看到定义好的属性值了,如下图:
可以看到,鼠标悬停以及在局部变量窗口中都能看到,属性的值。
总结
以上介绍了C#中一个调试时,显示对象关注的变量的小技巧,这个技巧对于有些类,尤其是有特定ID或者Key的类的对象调试非常有用。
更新于:5个月前赞一波!5
相关文章
- 【说站】python自定义日志如何实现
- 【说站】js isSame判断对象是否相同
- 【说站】mysql中自定义变量有哪些
- 【说站】java中Class类的概念介绍
- 【说站】java对象池的使用步骤
- Google发布文本内容生成短视频工具:Imagen Video
- 【说站】java class实例代表哪些结构
- 【说站】java获取class实例的4种方式
- 【说站】java获取class实例的方式
- 【说站】java如何自定义函数式接口
- 【说站】Python如何提取字符串的内容
- 【说站】python库如何实现对象的转换
- 【说站】python中类对象及类属性的介绍
- 【说站】python可迭代对象的本质探究
- 【说站】css自定义属性如何继承
- 【说站】css如何实现自定义的属性
- 【说站】Python bs4的四种对象
- 【说站】python自定义进度条显示信息
- 【说站】python如何实现自定义异常类
- 【说站】ps填充内容识别
文章评论
评论问答