C#中自定义class在调试时如何定制对象显示的内容
2024-08-05
29
问题描述
在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的类的对象调试非常有用。
更新于:1个月前赞一波!2
相关文章
- js 遍历数组、对象的几种方式
- TP6.0命令行之自定义指令
- 微信小程序内容安全检测(敏感词、敏感图)
- JavaScript 常用自定义功能函数
- TP6.0 自定义日志驱动
- TP6.0 自定义命令创建类文件
- TP6.0 自定义异常处理类
- 腾讯云对象存储COS及CDN加速配置
- 阿里云对象存储OSS及CDN加速配置
- vscode中自动将json格式的内容自动生成对应的代码
- TP6.0 获取请求对象的五种方式
- 自定义事件子组件与父组件通信
- PHP对象传值 - 引用传值
- v-bind 绑定 class、style 属性
- ThinkPHP6.0自定义异常页面模板文件
- 七牛云对象存储KoDo及CDN加速配置
- .NET C# new一个对象产生多少字节?
- Python 中的条件对象——线程同步
- Thread类及其对象——Python 多线程
- 计时器对象——Python 多线程
文章评论
全部评论