プロパティの列挙型リストをループする方法はわかっていますが、すべての「選択済み」列挙型プロパティをどのようにループしますか?たとえば、Prop1 | Prop2
に対してpublic enum Foo { Prop1; Prop2; Prop3 }
に対して行った場合、どうすればよいでしょうか?「選択された」Enum値をループしますか?
これは私が今持っているものです。
var values = Enum.GetValues(typeof(FileStatus)).Cast<FileStatus>();
foreach (var value in values)
{
}
これは、すべての列挙型のプロパティをループし、私はループ「選択」されたものだけをしたいと思います。
更新:[Flags]
属性が設定されました。
更新2:enumには多数のプロパティが含まれていますが、1つのプロパティチェックをタイプ/ハードコードすることはできません。代わりに、それぞれを動的にループし、enumインスタンスBar
ループされた項目セット
あなたは列挙型にFlagsAttributeを貼りましたか? – scottheckel
@Hexxagonal:問題ではありません。しかし、明示的に値を割り当てることは大変重要です。 –
@Hexxagonalこれは本当に何よりもオプションです。列挙型はそれぞれ2の累乗である場合とそうでない場合があります。フラグがattであるかどうか。本当にそれは重要ではありません。 – Servy