Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用反射设置枚举_C#_C# 4.0_C# 3.0_C# 2.0 - Fatal编程技术网

C# 使用反射设置枚举

C# 使用反射设置枚举,c#,c#-4.0,c#-3.0,c#-2.0,C#,C# 4.0,C# 3.0,C# 2.0,如何使用反射设置枚举 我的类有枚举: public enum LevelEnum { NONE, CRF, SRS, HLD, CDD, CRS }; 在运行时,我想为ex将该枚举设置为CDD 我怎么做 value = (LevelEnum)Enum.Parse(typeof(LevelEnum),"CDD"); 因此,基本上您只需解析与要分配给变量的枚举值对应的字符串。如果字符串

如何使用反射设置枚举

我的类有枚举:

public enum LevelEnum
    {
        NONE,
        CRF,
        SRS,
        HLD,
        CDD,
        CRS
    };
在运行时,我想为ex将该枚举设置为CDD

我怎么做

value = (LevelEnum)Enum.Parse(typeof(LevelEnum),"CDD");
因此,基本上您只需解析与要分配给变量的枚举值对应的字符串。如果字符串不是枚举的已定义成员,则此操作将失败。您可以使用
Enum.IsDefined(typeof(LevelEnum),input)检查这一点

尝试使用类枚举

LevelEnum s = (LevelEnum)Enum.Parse(typeof(LevelEnum), "CDD");

展示您真正的问题,这样会更容易帮助您。感谢您的回复,我得到了错误:它无法将类型LevelEnum转换为字符串。@Yasser上面的代码中没有任何内容试图将LevelEnum转换为字符串
LevelEnum s = (LevelEnum)Enum.Parse(typeof(LevelEnum), "CDD");