C#根据中文description获取enum枚举值

/// <summary>

/// 获取属性

/// </summary>

/// <typeparam name="T"></typeparam>

/// <param name="description"></param>

/// <returns></returns>

private T GetEnumByDescription<T>(string description) where T : Enum

{

System.Reflection.FieldInfo[] fields = typeof(T).GetFields();

foreach (System.Reflection.FieldInfo field in fields)

{

object[] objs = field.GetCustomAttributes(typeof(DescriptionAttribute), false); //获取描述属性

if (objs.Length > 0 && (objs[0] as DescriptionAttribute).Description == description)

{

return (T)field.GetValue(null);

}

}

return default(T);

}