自定义DebuggerDisplayAttribute,用于字节失败(0

时间:2018-12-13 12:22:48

标签: c# visual-studio-code

我想在Visual Studio代码调试器中以0x00格式显示字节。

我尝试了以下方法:

[assembly: DebuggerDisplay("0x{m_value.ToString(\"X2\"),nq}", Target = typeof(byte))]

在字节的值不为零的情况下工作。

数组new byte[] { 0xDF, 0x86, 0x41, 0xA8, 0x00 }在调试器中显示为:

enter image description here

假设y在以下日期后为"0x00"

byte x = 0x00; 
var y = $"0x{x:X2}";

我对发生的事情很困惑?

非常感谢人们可以提供的任何帮助。

更新

这不是我的目标,但它足够好,而且不太笨拙。我已经将DebuggerTypeProxybytebyte[]的简单视图类一起使用,显示为:

enter image description here

1 个答案:

答案 0 :(得分:1)

我想出的解决方案能够充分满足我的需求,那就是利用Barrier属性而不是DebuggerTypeProxy属性。

我使用了以下内容:

DebuggerDisplay