戻り列挙値を整数値にキャストするにはどうすればよいですか?
_allVisibleDays
次のように、列挙型に整数値として設定されているすべてのフラグを取得したいと思います。
Tuesday
設定されたら、Wednesday
これらの名前をDayOfWeek
列挙型にキャストして整数値を取得します。
したがって、以下の列挙型のとの代わりに、私をTuesday
返します。2
Wednesday
3
2
4
私はSOでこの方法を見つけました:
public IEnumerable<int> GetFlags()
{
foreach (Enum value in Enum.GetValues(typeof(VisibleDayOfWeek)))
if (_allVisibleDays.HasFlag(value))
yield return (int) value;
}
しかし、列挙型(上記の値)を整数にキャストするという単純な例のためだけに機能させることはできません...
private VisibleDayOfWeek _allVisibleDays;
[Flags]
enum VisibleDayOfWeek : int
{
None = 0,
Monday = 1,
Tuesday = 2,
Wednesday = 4,
Thursday = 8,
Friday = 16,
Saturday = 32,
Sunday = 64
}