如何获取具有枚举类型名称和枚举选项名称的枚举值

How to get enum value having enum type name and enum option name

我有这个枚举:

public enum SomeEnum
{
   None,
   Half,
   All
}

下面的方法体是怎样的,所以我可以得到值 1 有选项 "None" 和枚举名称 "SomeEnum" 存储为字符串:

string enumTypeName = "SomeEnum";
string enumPickedOptionName = "None";

方法:

public int GetEnumValue(string enumTypeName, string enumPickedOptionName){}

在枚举名称前使用 "Namespace" 试试这个:

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 值 = GetEnumValue("Namespace.SomeEnum", enumPickedOptionName);

我是这样解决问题的:

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;
}