/// <summary> Pridobite ime enuma glede na vrednost enuma /// </summary> <typeparam ime="T"></typeparam> <ime parametra="ključ"></param> /// <returns></returns> javni statični niz GetEnumNameByKey<T>(int key) { ime nizStr = niz. Prazno; var type = typeof(T); nameStr = Enum.GetName(type, key); vrni imeStr; }
/// <summary> Pridobite ime enuma glede na vrednost enuma /// </summary> <typeparam ime="T"></typeparam> <ime parametra="t"></param> /// <returns></returns> javni statični niz GetEnumNameByKey<T>(T t) { ime nizStr = niz. Prazno; var type = typeof(T); nameStr = Enum.GetName(type, t); vrni imeStr; }
/// <summary> Strune se pretvorijo v enum tipe /// </summary> <typeparam ime="T"></typeparam> <ime parametra="str"></param> <ime parametra="t"></param> /// <returns></returns> private static bool StringConvertToEnum<T>(string str, out T t), kjer je T : new() { var obj = napačno; t = novo T(); poskusi { t = (T)Enum.Parse(typeof(T), str); obj = resnično; } ulov (Izjema ex) { obj = napačno; }
return cilj; }
/// <summary> Pridobite zbirko imen enum /// </summary> <typeparam ime="T"></typeparam> /// <returns></returns> javni statični niz[] GetNamesArr<T>() { return Enum.GetNames(typeof(T)); }
/// <summary> Pretvorba enumov v zbirke slovarjev /// </summary> <imeparam tip="T"> vrste enumeracije</typeparam> /// <returns></returns> public static Dictionary<string, int> GetEnumDic<T>() {
Dictionary<string, int> resultList = novi Dictionary<string, int>(); tip tipa = tipa(T); var strList = GetNamesArr<T>(). ToList(); foreach (string key v strList) { string val = Enum.Format(type, Enum.Parse(type, key), "d"); resultList.Add(key, int. Parse(val)); } vrni resultList; }
/// <summary> Pridobite opis parametrov /// </summary> <typeparam ime="T"></typeparam> <ime parametra="t"></param> /// <returns></returns> javni statični niz GetDescriptionByKey<T>(T t) { var type = t.GetType(); FieldInfo fieldInfo = tip. GetField(GetEnumNameByKey<T>(t)); DescriptionAttribute = Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute), false) kot DescriptionAttribute; var Opis = atribut. Opis; nazaj Opis; }
|