我有一个8级bool的类,我想在调试器中将这些bool表示为1或0,我该如何实现?
答案 0 :(得分:2)
Yo可以创建一个简单的帮助方法:
private string GetBitMask(params bool[] values)
{
var sb = new StringBuilder();
foreach (var value in values)
{
sb.Append(value ? "1" : "0");
}
return sb.ToString();
}
然后像这样使用它:
[DebuggerDisplay("{GetBitMask(flag1, flag8)}")]
public class YouClass
{
private bool flag1;
// ...
private bool flag8;
}
或者,如果您有一个bool
s数组:
[DebuggerDisplay("{GetBitMask(flags)}")]
public class YouClass
{
private bool[] flags;
// ...
}
编辑:如果您不能/不想修改原始课程,请将GetBitMask()
移至某个实用工具类,将其设为static
并使用它从你想要的任何地方:
[DebuggerDisplay("{Utils.GetBitMask(flags)}")]