认真.C#的枚举只是一个简单的眼睛.(IMO).
当您从字符串中解析它时,您将得到一整行臃肿的遗留代码:
(EnumType)Enum.Parse(typeof(EnumType), value);
Run Code Online (Sandbox Code Playgroud)
真的吗?一个解析方法,它接受一个类型参数,并吐出一个对象?!真的,它可能是:
Enum.Parse<EnumType>(value);
Run Code Online (Sandbox Code Playgroud)
这是一种价值类型.因此,您不能使用"as"而不是类型转换.它不共享基本类型.所以你也不能为它写一个扩展名.你要么采用静态的"助手类"(哇哇......),要么在字符串上使用...螺栓式扩展方法?!比失败更糟糕?
谁有优雅的东西?
.Net 4为Enum添加了很多......好看......
http://reedcopsey.com/2009/10/26/long-overdue-enum-goodness-in-net-4/