/// <summary> Gaukite išvardijimo pavadinimą pagal išvardijimo reikšmę /// </summary> <typeparam name="T"></typeparam> <param name="key"></param> /// <returns></returns> viešoji statinė eilutė GetEnumNameByKey<T>(int raktas) { eilutės pavadinimasStr = eilutė. Tuščias; var type = typeof(T); nameStr = Enum.GetName(tipas, raktas); grąžinti nameStr; }
/// <summary> Gaukite išvardijimo pavadinimą pagal išvardijimo reikšmę /// </summary> <typeparam name="T"></typeparam> <param name="t"></param> /// <returns></returns> viešoji statinė eilutė GetEnumNameByKey<T>(T t) { eilutės pavadinimasStr = eilutė. Tuščias; var type = typeof(T); nameStr = Enum.GetName(tipas, t); grąžinti nameStr; }
/// <summary> Eilutės konvertuojamos į išvardijimo tipus /// </summary> <typeparam name="T"></typeparam> <param name="str"></param> <param name="t"></param> /// <returns></returns> privatus statinis bool StringConvertToEnum<T>(string str, out T t) kur T : new() { var obj = klaidingas; t = naujas T(); Pabandykite { t = (T)Enum.Parse(tipas(T), str); obj = teisinga; } laimikis (išimtis ex) { obj = klaidingas; }
grąžinti obj; }
/// <summary> Gaukite išvardijimo vardų rinkinį /// </summary> <typeparam name="T"></typeparam> /// <returns></returns> viešoji statinė eilutė[] GetNamesArr<T>() { return Enum.GetNames(typeof(T)); }
/// <summary> Išvardijimų konvertavimas į žodynų rinkinius /// </summary> <typeparam name="T"> išvardinti tipus</typeparam> /// <returns></returns> public static Dictionary<string, int> GetEnumDic<T>() {
Žodynas<eilutė, int> resultList = naujas Žodynas<eilutė, int>(); Tipo tipas = tipas(T); var strList = GetNamesArr<T>(). ToList(); foreach (eilutės raktas strList) { string val = Enum.Format(tipas, Enum.Parse(tipas, raktas), "d"); resultList.Add(raktas, int. Analizuoti (val)); } grąžinti resultList; }
/// <summary> Gaukite parametrų aprašymą /// </summary> <typeparam name="T"></typeparam> <param name="t"></param> /// <returns></returns> viešoji statinė eilutė GetDescriptionByKey<T>(T t) { var type = t.GetType(); FieldInfo fieldInfo = tipas. GetField(GetEnumNameByKey<T>(t)); DescriptionAttribute atributas = Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute), false) kaip DescriptionAttribute; var Aprašymas = atributas. apibūdinimas; grąžinti Aprašymas; }
|