如何将字符串强制转换为给定的Enum
本文关键字:Enum 转换 字符串 | 更新日期: 2023-09-27 18:06:01
如何强制转换字符串enum ?
我有下面的代码,它给了我错误,当我试图将字符串分配给levelEnum,其中levelEnum是一个枚举..
foreach (CustomProperty prop in requirementTemplate.AttributesCustomList)
{
if (prop.Name == property)
{
return (CRF_DB.CRF_Requirement.LevelEnum) (prop.Value.ToString());
}
}
是否有一种方法可以通过赋值来选择Enum项目?
希望足够清楚
试试下面的
return (CRF_DB.CRF_Requirement.LevelEnum)Enum.Parse(
typeof(CRF_DB.CRF_Requirement.LevelEnum),
prop.Value.ToString());
查看Enum。TryParse
http://msdn.microsoft.com/en-us/library/dd783499.aspx为了避免异常,您可以通过调用IsDefined
来检查该值是否存在于该枚举中。如果您使用的是。net 4.0,那么TryParse
方法将是最佳解决方案。
foreach (CustomProperty prop in requirementTemplate.AttributesCustomList)
{
if (prop.Name == property && Enum.IsDefined(typeof(LevelEnum), prop.Value))
{
return (LevelEnum)Enum.Parse(typeof(LevelEnum), prop.Value.ToString());
}
}