/// <summary> Få namnet på enum baserat på värdet på enumet /// </summary> <typeparam name="T"></typeparam> <param name="key"></param> /// <returns></returns> publik statisk sträng GetEnumNameByKey <T>(int key) { strängnamnStr = sträng. Tomt; var type = typeof(T); nameStr = Enum.GetName(typ, nyckel); återvända namnStr; }
/// <summary> Få namnet på enum baserat på värdet på enumet /// </summary> <typeparam name="T"></typeparam> <param name="t"></param> /// <returns></returns> offentlig statisk sträng GetEnumNameByKey<T>(T t) { strängnamnStr = sträng. Tomt; var type = typeof(T); nameStr = Enum.GetName(type, t); återvända namnStr; }
/// <summary> Strängar omvandlas till enum-typer /// </summary> <typeparam name="T"></typeparam> <param name="str"></param> <param name="t"></param> /// <returns></returns> privat statisk bool StringConvertToEnum <T>(sträng str, ut T t) där T : new() { var obj = falsk; t = ny T(); Försök { t = (T)Enum.Parse(typeof(T), str); obj = sann; } catch (Undantag t.ex.) { obj = falsk; }
återvänd till målet; }
/// <summary> Skaffa en samling enum-namn /// </summary> <typeparam name="T"></typeparam> /// <returns></returns> offentlig statisk sträng[] GetNamesArr<T>() { returnera Enum.GetNames(typeof(T)); }
/// <summary> Omvandla enum till ordbokssamlingar /// </summary> <typeparam name="T"> räkna upp typer</typeparam> /// <returns></returns> offentlig statisk Dictionary<sträng, int> GetEnumDic<T>() {
Dictionary<string, int> resultList = ny Dictionary<sträng, int>(); Typtyp = typ(T); var strList = GetNamesArr<T>(). ToList(); foreach (strängnyckel i strList) { sträng val = Enum.Format(type, Enum.Parse(type, key), "d"); resultList.Add(key, int. Parse(val)); } returnera resultatLista; }
/// <summary> Få en beskrivning av parametrarna /// </summary> <typeparam name="T"></typeparam> <param name="t"></param> /// <returns></returns> publik statisk sträng GetDescriptionByKey<T>(T t) { var type = t.GetType(); FieldInfo fieldInfo = typ. GetField(GetEnumNameByKey<T>(t)); DescriptionAttribut-attributet = Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute), false) som DescriptionAttribute; var Beskrivning = attribut. Beskrivning; returnering Beskrivning; }
|