2
나는 8 개의 bool을 가진 클래스가 있으며 디버거에서 해당 bool을 1 또는 0으로 나타내려고합니까? 어떻게해야합니까?DebuggerDisplay 속성을 사용하여 비트 마스크를 표현하는 방법
나는 8 개의 bool을 가진 클래스가 있으며 디버거에서 해당 bool을 1 또는 0으로 나타내려고합니까? 어떻게해야합니까?DebuggerDisplay 속성을 사용하여 비트 마스크를 표현하는 방법
요 간단한 도우미 메서드 만들 수 있습니다
[DebuggerDisplay("{GetBitMask(flags)}")]
public class YouClass
{
private bool[] flags;
// ...
}
: 경우에 당신이
bool
의 배열이 있고,
[DebuggerDisplay("{GetBitMask(flag1, flag8)}")]
public class YouClass
{
private bool flag1;
// ...
private bool flag8;
}
또는이 같은
private string GetBitMask(params bool[] values)
{
var sb = new StringBuilder();
foreach (var value in values)
{
sb.Append(value ? "1" : "0");
}
return sb.ToString();
}
그리고 그것을 사용을
수정 : 원래 c를 수정할 수 없거나 수정하지 않으려면 아가씨, 다음 몇 가지 유틸리티 클래스에 GetBitMask()
를 이동, 그것을 static
을하고 원하는 곳에서 사용 :
[DebuggerDisplay("{Utils.GetBitMask(flags)}")]
당신은 디버거에서/그들이 참으로 거짓 볼 수없는 이유는 무엇입니까? –
8 개의'bool' 필드 또는'bool' 배열이 있습니까? –
bool 인 8 개의 속성을 가진 클래스로, obj [0-7] = true로 액세스 할 수있는 인덱스가 있습니다. –