2
私は8個のboolを持つクラスを持っていますが、デバッガでこれらのboolを1または0として表現したいのですが、どうすればいいですか?DebuggerDisplay属性を使用してビットマスクを表現する方法
私は8個のboolを持つクラスを持っていますが、デバッガでこれらのboolを1または0として表現したいのですが、どうすればいいですか?DebuggerDisplay属性を使用してビットマスクを表現する方法
ヨは、単純なヘルパーメソッドを作成することができます
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
の配列があります
[DebuggerDisplay("{GetBitMask(flags)}")]
public class YouClass
{
private bool[] flags;
// ...
}
を
編集:元のcを変更したくない場合少女は、それstatic
作り、いくつかのユーティリティクラスへGetBitMask()
を移動し、あなたが望む任意の場所からそれを使用します。
[DebuggerDisplay("{Utils.GetBitMask(flags)}")]
あなたは、デバッガで真/偽としてそれらを表示することはできませんか? –
8つの 'bool'フィールドや' bool'の配列がありますか? –
boolである8つのプロパティを持つクラスで、obj [0-7] = trueとしてアクセスするためのインデックスもあります。 –