/// <summary> Iegūstiet uzskaitījuma nosaukumu, pamatojoties uz uzskaitījuma vērtību /// </summary> <typeparam name="T"></typeparam> <param name="key"></param> /// <returns></returns> publiskā statiskā virkne GetEnumNameByKey<T>(int atslēga) { virknes nosaukumsStr = virkne. Tukšs; var tips = tips(T); nameStr = Enum.GetName(tips, atslēga); atgriezt nameStr; }
/// <summary> Iegūstiet uzskaitījuma nosaukumu, pamatojoties uz uzskaitījuma vērtību /// </summary> <typeparam name="T"></typeparam> <param name="t"></param> /// <returns></returns> publiskā statiskā virkne GetEnumNameByKey<T>(T t) { virknes nosaukumsStr = virkne. Tukšs; var tips = tips(T); nameStr = Enum.GetName(tips, t); atgriezt nameStr; }
/// <summary> Virknes tiek konvertētas par uzskaitījuma tipiem /// </summary> <typeparam name="T"></typeparam> <param name="str"></param> <param name="t"></param> /// <returns></returns> privāts statisks bool StringConvertToEnum<T>(string str, out T t), kur T : new() { var obj = nepatiess; t = jauns T(); izmēģināt { t = (T)Enum.Parse(tips(T), str); obj = patiess; } nozveja (izņēmums, piemēram) { obj = nepatiess; }
atgriezties obj; }
/// <summary> Uzskaitījuma nosaukumu kolekcijas iegūšana /// </summary> <typeparam name="T"></typeparam> /// <returns></returns> publiskā statiskā virkne[] GetNamesArr<T>() { return Enum.GetNames(typeof(T)); }
/// <summary> Uzskaitījumu konvertēšana vārdnīcu kolekcijās /// </summary> <typeparam name="T"> uzskaitīt tipus</typeparam> /// <returns></returns> publiskā statiskā vārdnīca<virkne, int> GetEnumDic<T>() {
Dictionary<string, int> resultList = new Dictionary<string, int>(); Tipa tips = typeof(T); var strList = GetNamesArr<T>(). ToList(); foreach (virknes atslēga strList) { virkne val = Enum.Format(tips, Enum.Parse(tips, atslēga), "d"); resultList.Add(atslēga, int. Parse(val)); } atgriezt rezultātuSaraksts; }
/// <summary> Iegūt parametru aprakstu /// </summary> <typeparam name="T"></typeparam> <param name="t"></param> /// <returns></returns> publiskā statiskā virkne GetDescriptionByKey<T>(T t) { var tips = t.GetType(); FieldInfo fieldInfo = tips. GetField(GetEnumNameByKey<T>(t)); DescriptionAttribute atribūts = Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute), false) kā DescriptionAttribute; var Apraksts = atribūts. Apraksts; atgriezt aprakstu; }
|