|

/// <summary>
/// 根据枚举的值获取枚举名称
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="key"></param>
/// <returns></returns>
public static string GetEnumNameByKey<T>(int key)
{
string nameStr = string.Empty;
var type = typeof(T);
nameStr = Enum.GetName(type, key);
return nameStr;
}
/// <summary>
/// 根据枚举的值获取枚举名称
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t"></param>
/// <returns></returns>
public static string GetEnumNameByKey<T>(T t)
{
string nameStr = string.Empty;
var type = typeof(T);
nameStr = Enum.GetName(type, t);
return nameStr;
}
/// <summary>
/// 字符串转换为枚举类型
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="str"></param>
/// <param name="t"></param>
/// <returns></returns>
private static bool StringConvertToEnum<T>(string str, out T t) where T : new()
{
var obj = false;
t = new T();
try
{
t = (T)Enum.Parse(typeof(T), str);
obj = true;
}
catch (Exception ex)
{
obj = false;
}
return obj;
}
/// <summary>
/// 获取枚举名称集合
/// </summary>
/// <typeparam name="T"></typeparam>
/// <returns></returns>
public static string[] GetNamesArr<T>()
{
return Enum.GetNames(typeof(T));
}
/// <summary>
/// 将枚举转换成字典集合
/// </summary>
/// <typeparam name="T">枚举类型</typeparam>
/// <returns></returns>
public static Dictionary<string, int> GetEnumDic<T>()
{
Dictionary<string, int> resultList = new Dictionary<string, int>();
Type type = typeof(T);
var strList = GetNamesArr<T>().ToList();
foreach (string key in strList)
{
string val = Enum.Format(type, Enum.Parse(type, key), "d");
resultList.Add(key, int.Parse(val));
}
return resultList;
}
/// <summary>
/// 获取参数说明
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t"></param>
/// <returns></returns>
public static string GetDescriptionByKey<T>(T t)
{
var type = t.GetType();
FieldInfo fieldInfo = type.GetField(GetEnumNameByKey<T>(t));
DescriptionAttribute attribute = Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute), false) as DescriptionAttribute;
var Description = attribute.Description;
return Description;
}
|
上一篇:3年A班-从现在起大家都是人质【日剧】【720P】[更新至01]下一篇:js实现下载文件
|