/// <summary> Získajte názov enum na základe hodnoty enum /// </summary> <typparam meno="T"></typeparam> <názov parametra="key"></param> /// <returns></returns> public static string GetEnumNameByKey<T>(int key) { názov reťazcaStr = reťazec. Prázdne; var type = typeof(T); nameStr = Enum.GetName(type, key); return nameStr; }
/// <summary> Získajte názov enum na základe hodnoty enum /// </summary> <typparam meno="T"></typeparam> <názov parametra="t"></param> /// <returns></returns> public static string GetEnumNameByKey<T>(T t) { názov reťazcaStr = reťazec. Prázdne; var type = typeof(T); nameStr = Enum.GetName(type, t); return nameStr; }
/// <summary> Reťazce sa konvertujú na enum typy /// </summary> <typparam meno="T"></typeparam> <názov parametra="str"></param> <názov parametra="t"></param> /// <returns></returns> private static bool StringConvertToEnum<T>(string str, out T t), kde T : new() { var obj = nepravda; t = nový T(); Skús { t = (T)Enum.Parse(typeof(T), str); obj = pravda; } chytiť (Výnimka ex) { obj = nepravda; }
návratový cieľ; }
/// <summary> Získajte zbierku mien enum /// </summary> <typparam meno="T"></typeparam> /// <returns></returns> public static string[] GetNamesArr<T>() { return Enum.GetNames(typeof(T)); }
/// <summary> Konverzia enumov na slovníkové zbierky /// </summary> <typeparam meno="T"> enumerátne typy</typeparam> /// <returns></returns> public static Dictionary<string, int> GetEnumDic<T>() {
Dictionary<string, int> resultList = nový Dictionary<string, int>(); typ = typ(T); var strList = GetNamesArr<T>(). ToList(); foreach (reťazcový kľúč v strList) { string val = Enum.Format(type, Enum.Parse(type, key), "d"); resultList.Add(key, int. Parse(val)); } vrátiť resultList; }
/// <summary> Získajte popis parametrov /// </summary> <typparam meno="T"></typeparam> <názov parametra="t"></param> /// <returns></returns> public static string GetDescriptionByKey<T>(T t) { var type = t.GetType(); FieldInfo fieldInfo = typ. GetField(GetEnumNameByKey<T>(t)); DescriptionAttribute = Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute), false) ako DescriptionAttribute; var Popis = atribút. Popis; návrat Popis; }
|