c# 枚举帮助类

ublic class EnumHelper

{

#region 返回枚举对应属性

/// <summary>

/// 返回枚举对应属性

/// </summary>

/// <typeparam name="T">枚举类</typeparam>

/// <returns></returns>

public static List<Model.EnumType> EnumToList<T>()

{

List<Model.EnumType> list = new List<Model.EnumType>();

var items = Enum.GetValues(typeof(T));

foreach (var item in items)

{

Model.EnumType entity = new Model.EnumType();

object[] obj = item.GetType().GetField(item.ToString()).GetCustomAttributes(typeof(DescriptionAttribute), true);

if (obj != null && obj.Length > 0)

{

DescriptionAttribute da = obj[0] as DescriptionAttribute;

entity.Desction = da.Description;

}

entity.Value = Convert.ToInt32(item);

entity.Name = item.ToString();

list.Add(entity);

}

return list;

}

#endregion

#region 获取枚举类型描述

/// <summary>

/// 获取枚举类型描述

/// </summary>

/// <param name="enumValue">枚举值</param>

/// <returns></returns>

public static string GetEnumDescription(Enum enumValue)

{

string str = enumValue.ToString();

System.Reflection.FieldInfo field = enumValue.GetType().GetField(str);

object[] objs = field.GetCustomAttributes(typeof(System.ComponentModel.DescriptionAttribute), false);

if (objs == null || objs.Length == 0) return str;

System.ComponentModel.DescriptionAttribute da = (System.ComponentModel.DescriptionAttribute)objs[0];

return da.Description;

}

#endregion

#region 字符串转枚举

/// <summary>

/// 字符串转枚举

/// </summary>

/// <typeparam name="T">枚举类型</typeparam>

/// <param name="value">名称</param>

/// <returns></returns>

public static T StringToEnum<T>(string value)

{

var obj = (T)Enum.Parse(typeof(T), value, false);

return obj;

}

#endregion

}

相关推荐
愚润求学11 分钟前
【C++】map和set
开发语言·c++·笔记
卷不动的打工仔14 分钟前
Ubuntu利用docker搭建Java相关环境记录(二)
java·ubuntu·docker
xcLeigh15 分钟前
HTML5好看的水果蔬菜在线商城网站源码系列模板5
java·前端·源码·html5
末央&16 分钟前
【C++】priority_queue的底层封装和实现
开发语言·c++
Better Rose29 分钟前
【2025“华中杯”大学生数学建模挑战赛】C题:就业状态分析与预测 详细解题思路
c语言·开发语言·数学建模
网络安全研发随想35 分钟前
C语言核心结构+难点精讲+工程技巧
c语言·开发语言·算法
春_36 分钟前
IP范围转IP掩码
java·服务器·网络·tcp/ip
归海_一刀36 分钟前
【Unity动态换装骨骼合并】
unity·c#·游戏引擎
kfepiza40 分钟前
HttpSessionAttributeListener 的用法笔记250417
java·spring boot·笔记·servlet·java-ee·tomcat
superior tigre1 小时前
C++学习:六个月从基础到就业——面向对象编程:虚函数与抽象类
开发语言·c++·学习