/// <summary> Uzyskaj nazwę enum na podstawie wartości enum /// </summary> <typeparam nazwa="T"></typeparam> <nazwa parametru="klucz"></param> /// <returns></returns> publiczny ciąg statyczny GetEnumNameByKey<T>(int key) { nazwa ciągu Str = ciąg. Pusty; typ var = typeof(T); nameStr = Enum.GetName(type, key); return nameStr; }
/// <summary> Uzyskaj nazwę enum na podstawie wartości enum /// </summary> <typeparam nazwa="T"></typeparam> <nazwa parametru="t"></param> /// <returns></returns> public static string GetEnumNameByKey<T>(T t) { nazwa ciągu Str = ciąg. Pusty; typ var = typeof(T); nameStr = Enum.GetName(type, t); return nameStr; }
/// <summary> Struny są przekształcane w typy enum /// </summary> <typeparam nazwa="T"></typeparam> <nazwa parametru="str"></param> <nazwa parametru="t"></param> /// <returns></returns> private static bool StringConvertToEnum<T>(string str, out T t) gdzie T : new() { var obj = fałsz; t = nowy T(); spróbuj { t = (T)Enum.Parse(typeof(T), str); obj = prawdziwy; } złapanie (Wyjątek ex) { obj = fałsz; }
Return Obj; }
/// <summary> Zbierz kolekcję nazw enum /// </summary> <typeparam nazwa="T"></typeparam> /// <returns></returns> public static string[] GetNamesArr<T>() { return Enum.GetNames(typeof(T)); }
/// <summary> Przekształc enumy w zbiory słowników /// </summary> <typeparam name="T"> typy enumeracji</typeparam> /// <returns></returns> public static Dictionary<string, int> GetEnumDic<T>() {
Dictionary<string, int> resultList = nowy Dictionary<string, int>(); Typ = typ/a(T); var strList = GetNamesArr<T>(). ToList(); foreach (klucz łańcuchowy w strList) { string val = Enum.Format(type, Enum.Parse(type, key), "d"); resultList.Add(key, int. Parse(val)); } wróć resultList; }
/// <summary> Uzyskaj opis parametrów /// </summary> <typeparam nazwa="T"></typeparam> <nazwa parametru="t"></param> /// <returns></returns> publiczny ciąg statyczny GetDescriptionByKey<T>(T t) { var type = t.GetType(); FieldInfo fieldInfo = type. GetField(GetEnumNameByKey<T>(t)); DescriptionAttribute attribute = Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute), false) jako DescriptionAttribute; var Opis = atrybut. Opis; return Opis; }
|