我有这个枚举:
public enum SomeEnum
{
None,
Half,
All
}
如何使用以下方法体,所以我可以得到值1有选项"无"和enum name" SomeEnum"存储为字符串:
string enumTypeName = "SomeEnum";
string enumPickedOptionName = "None";
方法:
public int GetEnumValue(string enumTypeName, string enumPickedOptionName){}
答案 0 :(得分:0)
使用枚举名称前的“命名空间”尝试此操作:
private int GetEnumValue(string enumTypeName, string enumPickedOptionName)
{
int result = -1;
Type enumType;
try
{
enumType= Type.GetType(enumTypeName);
result = (int)Enum.Parse(enumType, enumPickedOptionName,true);
}
catch (Exception ex)
{
}
finally
{
}
return result;
}
int value = GetEnumValue(“Namespace.SomeEnum”,enumPickedOptionName);
答案 1 :(得分:0)
我用这种方式解决了问题:
private int GetEnumValue(string assemblyName, string enumTypeName, string enumPickedOptionName)
{
int result = -1;
Assembly assembly = Assembly.Load(assemblyName);
Type enumType = assembly.GetTypes().Where(x => x.Name ==
enumTypeName).FirstOrDefault();
result = (int)Enum.Parse(enumType, enumPickedOptionName, true);
return result;
}