使用反射设置枚举

Yas*_*ser 5 c# c#-3.0 c#-2.0 c#-4.0

如何使用反射设置枚举,

我的班级有枚举:

public enum LevelEnum
    {
        NONE,
        CRF,
        SRS,
        HLD,
        CDD,
        CRS
    };
Run Code Online (Sandbox Code Playgroud)

并且在运行时我想将该枚举设置为CDD for ex.

我该怎么做 ?

Jan*_*nda 5

尝试使用 Enum 类

LevelEnum s = (LevelEnum)Enum.Parse(typeof(LevelEnum), "CDD");
Run Code Online (Sandbox Code Playgroud)


jga*_*fin 3

public class MyObject
{
    public LevelEnum MyValue {get;set,};
}


var obj = new MyObject();
obj.GetType().GetProperty("MyValue").SetValue(LevelEnum.CDD, null);
Run Code Online (Sandbox Code Playgroud)