本文主要是介绍c#获取枚举所有项列表包含Description描述,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
public enum UserType{/// <summary>/// 后台管理/// </summary>[Description("后台管理")]Manager = 1,/// <summary>/// 普通用户/// </summary>[Description("普通用户")]Viewer = 2,}/// <summary>
/// 获取枚举类型的所有项,返回集合
/// </summary>
/// <param name="enumType">枚举类型</param>
/// <returns>返回System.ValueTuple集合类型,item1为描述名称,item2为枚举name,item3为枚举int值</returns>
public static List<(string, string, int)> GetEnumList(Type enumType)
{List<(string, string, int)> list = new List<(string, string, int)>();//var arr2 = typeof(Operation).GetFields();var arr2 = enumType.GetFields();for (int i = 1; i < arr2.Length; i++){var item = arr2[i];System.ComponentModel.DescriptionAttribute[] dd = item.GetCustomAttributes(typeof(System.ComponentModel.DescriptionAttribute), true) as System.ComponentModel.DescriptionAttribute[];string des = dd[0].Description;var name = item.Name;//int num = (int)Enum.Parse(typeof(Operation), name);int num = (int)Enum.Parse(enumType, name);list.Add((des, name, num));}return list;
}
这篇关于c#获取枚举所有项列表包含Description描述的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!