實現效果:

知識運用:
System.Enum類的 Enum.GetUnderlyingType()方法 //返回用於保存枚舉的數據類型
static void Main(string[] args)
{
Console.WriteLine("***Fun with Enums***");
//創建職員類型
EmpType emp = EmpType.Contractor;
AskForBonus(emp);
♦//輸出枚舉的存儲 使用GetUnderlyingType方法
Console.WriteLine("EmpType uses a {0} for storage",Enum.GetUnderlyingType(emp.GetType()));
Console.ReadKey();
}♦//使用C#的Typeof
Console.WriteLine("EmpType uses a {0} for storage", Enum.GetUnderlyingType(typeof(EmpType)));
System.Enum類的 GetValues() 靜態方法 //返回一個System.Array的一個實例(數組中的每一項都對應指定枚舉的一個成員)
實現代碼:
static void EvaluateEnum(System.Enum e)
{
Console.WriteLine("=> Information about {0}",e.GetType().Name);
Console.WriteLine("UnderLying storage type: {0}",System.Enum.GetUnderlyingType(e.GetType()));
Array arr=System.Enum.GetValues(e.GetType());
Console.WriteLine("This enum has {0}member.",arr.Length);
for (int i = 0; i < arr.Length;i++ )
{
Console.WriteLine("Name: {0}, Value: {0:D}",arr.GetValue(i));
}
Console.WriteLine();
}
static void Main(string[] args)
{
ConsoleColor clo = new ConsoleColor();
DayOfWeek dw = new DayOfWeek();
EmpType emp = new EmpType();
EvaluateEnum(clo);
EvaluateEnum(dw);
EvaluateEnum(emp);
Console.ReadKey();
}

