问题标签 [debuggerdisplay]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 在复杂类型上链接 DebuggerDisplay
我有几个定义 DebuggerDisplay 属性的类。我想知道是否有一种方法可以基于另一个属性定义一个 DebuggerDisplay 属性。如果我有以下课程:
我想在 B 的实例上看到 A 类,因为它是在 A 类 DebuggerDisplay 属性上定义的。取而代之的是,我在查看 B 类对象时将 A 类 ToString() 方法放到调试器上。
c# - “覆盖”外部库类的 ToString 或 DEbuggerDisplay
我正在开发 XNA 的东西并使用他们的矩阵结构。调试时,矩阵显示的值类似于:
这不是超级方便阅读。我想要类似的东西:
由于这个结构不是我的,我不能覆盖ToString
方法,也不能覆盖DebuggerDisplay
属性。
这种功能有简单的技术吗?我认为这是一个常见的要求。也许与 VisualStudio 本身有关作为最后的手段?
精度:我不是在寻找操作(好奇的 Matrix.Decompose()),只是在调试模式下在 Visual Studio(或其他人)中“渲染”这种类型的变量。
c# - 是否可以在 DebuggerDisplay 中使用条件?
考虑以下类:
我想添加一个基于IsTempFileName
属性的调试器显示。, TempFileName = {TempFileName,nq}
当实例是临时文件时,我想添加字符串。我将如何实现这一目标?
c# - DebuggerTypeProxy 类的 DebuggerDisplay 属性
在调试器代理类上使用 [DebuggerDisplay("{OneLineAddress}")] 时,它似乎不起作用。有什么我做错了吗?或者在不向原始类添加代码的情况下以某种方式解决这个问题?
c# - 可以访问属性的子“DebuggerDisplay”属性吗?
当前状态
有两个类:
使用它们:
在调试器内部,显示的工具提示值a
是
一 = 5,二 = {DebuggerDisplayTest.B}
目标
我想要的是类似的东西
一 = 5,二 = '三 = 10'
我知道这可以通过覆盖ToString()
class 的方法来实现B
。这感觉不对,因为我在我的应用程序中编写代码仅用于调试。
我也知道使用类似于
也可以。这对我来说也感觉不对,因为它要求 classA
具有 class 知识B
。
我希望有更多的方法将 type 的值“注入”DebuggerDisplay
到B
class 中该类型的实例A
。
问题
是否可以以某种方式访问“具有”复合类DebuggerDisplay
的属性内的成员属性?DebuggerDisplay
更新
根据这个 SO answer,我的要求可能是不可能的。也许一个好的解决方案是ToString
在类中重写B
并做一些if..else
并使用该Debugger.IsAttached
属性仅在调试器内部表现不同。
就像是:
c# - 带参数的 DebuggerDisplayAttribute 方法调用
是否可以在DebuggerDisplay 属性中调用带有参数的方法?我没有在 MSDN 文章Using the DebuggerDisplay Attribute中找到有关此问题的有用信息。
我尝试ToString
使用字符串参数调用该方法"d"
;但以下不起作用:
我知道建议使用私有属性而不是复杂的表达式。但是,它仍然可能用表达式吗?
.net - Visual Studio/Dotnet DebuggerDisplay 属性,它是否有多个“nq”开关?
DebuggerDisplay 属性有哪些开关?
我知道nq
删除输出周围引号的开关。
还有更多吗?
c# - DebuggerDisplay 指令“,nq”是否只对字符串有效?
我正在编写一些代码来自动解析/评估DebuggerDisplay
字符串以进行单元测试。我很好奇,该,nq
指令是否仅对字符串有效?我看到,如果我写
然后 anew D()
将出现{C}
在调试器中。,nq
从显示字符串中删除具有相同的效果。只有当我将类型更改为c
字符串时,像这样
删除/保留,nq
似乎有效果(它分别导致"foo"
和foo
)。那么,nq
只有当您尝试显示字符串字段/成员时才重要吗?
.net - 是否可以在 VB.NET 的 DebuggerDisplay 中使用条件?
我再次问这里问的问题,因为答案不适合VB.NET:
考虑以下类:
我想添加一个基于 IsTempFileName 属性的调试器显示。当实例是临时文件时,我想添加字符串 TempFileName = {TempFileName,nq} 。我将如何实现这一目标?
如何在 VB.NET 中执行此操作?