/// <summary> エナック名はその値に基づいて取得します /// </summary> <typeparam name="T"></typeparam> <param name="key"></param> /// <returns></returns> public static string GetEnumNameByKey<T>(int key) { 文字列名 Str = string。 空っぽ; var type = typeof(T); nameStr = Enum.GetName(type, key); 名前を返すStr; }
/// <summary> エナック名はその値に基づいて取得します /// </summary> <typeparam name="T"></typeparam> <param name="t"></param> /// <returns></returns> public static string GetEnumNameByKey<T>(T t) { 文字列名 Str = string。 空っぽ; var type = typeof(T); nameStr = Enum.GetName(type, t); 名前を返すStr; }
/// <summary> 文字列は列挙型に変換されます /// </summary> <typeparam name="T"></typeparam> <param name="str"></param> <param name="t"></param> /// <returns></returns> プライベート静的ブール StringConvertToEnum<T>(string str, out T t) ここで T : new() { var obj = 偽; t = 新しいT(); やってみて { t = (T)Enum。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">型を列挙する</typeparam> /// <returns></returns> public static Dictionary<string, int> GetEnumDic<T>() {
Dictionary<string, int>resultList = new Dictionary<string, int>(); タイプタイプ = typeof(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 = Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute), false) を DescriptionAttribute として; var 記述 = 属性。 説明; 返却説明; }
|