/// <summary> Get the enum name based on the value of the enum /// </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> Get the enum name based on the value of the enum /// </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> Strings are converted to enum types /// </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> Get a collection of enum names /// </summary> /// <typeparam name="T"></typeparam> /// <returns></returns> public static string[] GetNamesArr<T>() { return Enum.GetNames(typeof(T)); }
/// <summary> Convert enums into dictionary collections /// </summary> <typeparam name="T"> enumerate types</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> Get a description of the parameters /// </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; }
|