在C#中将字符串转换为枚举值的最佳方法是什么?
我有一个包含枚举值的HTML选择标记.发布页面时,我想获取值(将以字符串的形式)并将其转换为枚举值.
在一个理想的世界里,我可以这样做:
StatusEnum MyStatus = StatusEnum.Parse("Active");
Run Code Online (Sandbox Code Playgroud)
但那不是有效的代码.
有更干净,更聪明的方法吗?
我正在使用数据库来获取数据以填充对象并将数据库字符串值转换回其枚举(我们可以假设数据库中的所有值都是匹配枚举中的值)
有问题的行是下面的行设置EventLog.ActionType ...我开始质疑我的方法的原因是因为在等号之后,VS2010一直试图通过放置这个来覆盖我正在键入的内容:"= EventActionType("
using (..<snip>..)
{
while (reader.Read())
{
// <snip>
eventLog.ActionType = (EventActionType)Enum.Parse(typeof(EventActionType), reader[3].ToString());
...etc...
Run Code Online (Sandbox Code Playgroud)