我有这个枚举:
enum ControlsId
{
f1,
f2
}
我想从函数中返回枚举类型,如下所示:
public enum GetPostBackControlId(string str)
{
if(str = "btn1")
return ControlsId.f1
if(str = "btn2")
return ControlsId.f2
}
是否可以从方法返回枚举?
答案 0 :(得分:6)
public ControlsId GetPostBackControlId(string str)
{
if(str == "btn1")
{
return ControlsId.f1;
}
else if(str == "btn2")
{
return ControlsId.f2;
}
return (ControlsId)17;
}
答案 1 :(得分:2)
我知道答案已经存在,但可能会更清洁。
public TEnum GetEnum<TEnum>(string content)
{
return (TEnum)Enum.Parse(typeof(TEnum), content, true);
}
这种方法之美,它是通用的,高度可重复使用。只要该值存在,它就会解析为有效的enum
。否则,它将抛出异常。但是如果你打算解析成enum
,你往往会意识到这种类型。