拡張メソッドとかLLっぽくて、なかなか楽しい。
class Program
{
static void Main(string[] args)
{
foreach(EnumNumper e in Enum.GetValues(typeof(EnumNumper)))
{
Debug.WriteLine("{0}={1} {2}", e.ToString(), e.ToInt(), e.HasFlg(1));
}
}
}
public enum EnumNumper
{
Zero = 0,
One = 1,
Two = 2,
Three = 4,
Four = 8,
Five = 16
}
public static class EnuNumberClass
{
public static int ToInt(this EnumNumper e)
{
return (int)e;
}
public static bool HasFlg(this EnumNumper e, int x)
{
return ((int)e & x) == 0 ? false : true;
}
}
実行するとこんなかんじ。
A=0 False
B=1 True
C=2 False
D=4 False
E=8 False
F=16 False