我正在编写一些代码来自动解析/评估DebuggerDisplay
字符串以进行单元测试.我很好奇,,nq
指令只对字符串有效吗?如果我写的话,我明白了
[DebuggerDisplay("{c,nq}")] public class D { public C c = new C(); } public class C { }
然后a new D()
将出现{C}
在调试器中.,nq
从显示字符串中删除具有相同的效果.只有当我将类型更改c
为字符串时,才会这样
[DebuggerDisplay("{c,nq}")] public class D { public string c = "foo"; }
删除/保持,nq
似乎有效(它分别产生"foo"
和结果foo
).所以,nq
当你试图显示一个字符串字段/成员时才有意义吗?
'nq'字面意思是'没有引号'(从对象值中剥离引号).所以,是的,只有在尝试显示字符串成员时.
https://blogs.msdn.microsoft.com/jaredpar/2011/03/18/debuggerdisplay-attribute-best-practices/