/// <summary> 열거 값에 따라 이름을 얻으세요 /// </summary> <typeparam name="T"></typeparam> <param name="key"></param> /// <returns></returns> public static string GetEnumNameByKey<T>(int key) { 문자열 이름Str = 문자열. 비어 있었다; var type = typeof(T); nameStr = Enum.GetName(type, key); returnnameStr; }
/// <summary> 열거 값에 따라 이름을 얻으세요 /// </summary> <typeparam name="T"></typeparam> <param name="t"></param> /// <returns></returns> public static string GetEnumNameByKey<T>(T t) { 문자열 이름Str = 문자열. 비어 있었다; var type = typeof(T); nameStr = Enum.GetName(type, t); returnnameStr; }
/// <summary> 문자열은 열거형 유형으로 변환됩니다 /// </summary> <typeparam name="T"></typeparam> <param name="str"></param> <param name="t"></param> /// <returns></returns> private static bool StringConvertToEnum<T>(string str, out T t) 여기서 T : new() { var obj = 거짓; t = 새로운 T(); 시도해 { t = (T)열거. Parse(typeof(T), str); obj = 참; } catch (예외 예) { obj = 거짓; }
귀환 OBJ; }
/// <summary> 열거 이름 모음을 얻으세요 /// </summary> <typeparam name="T"></typeparam> /// <returns></returns> 공개 정적 문자열[] GetNamesArr<T>() { Enum.GetNames(typeof(T)를 반환); }
/// <summary> 열거 항목을 사전 컬렉션으로 변환하기 /// </summary> <typeparam name="T"> enumerate types</typeparam> /// <returns></returns> public static Dictionary<string, int> GetEnumDic<T>() {
Dictionary<string, int> resultList = new Dictionary<string, int>(); 타입 타입 = 타입 타입(T); var strList = GetNamesArr<T>(). ToList(); foreach (strList 내 문자열 키) { string val = Enum.Format(type, Enum.Parse(type, key), "d"); resultList.Add(key, int. Parse(val)); } returnResultList; }
/// <summary> 매개변수에 대한 설명을 받으세요 /// </summary> <typeparam name="T"></typeparam> <param name="t"></param> /// <returns></returns> public static string GetDescriptionByKey<T>(T t) { var type = t.GetType(); FieldInfo fieldInfo = type. GetField(GetEnumNameByKey<T>(t)); DescriptionAttribute 속성 = Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute), false) DescriptionAttribute로 사용; var 설명 = 속성. 설명; 설명 반환; }
|