From b5c75c9edf9c13a8bd4ba2f0596a1ceaf2563c6b Mon Sep 17 00:00:00 2001
From: sunpengfei <i@angelzzz.com>
Date: 星期四, 14 八月 2025 10:05:30 +0800
Subject: [PATCH] feat:开发

---
 FlexJobApi.Core/Utils/EnumUtils/EnumUtils.cs |   42 ++++++++++++++++++++++++++++++++++++------
 1 files changed, 36 insertions(+), 6 deletions(-)

diff --git a/FlexJobApi.Core/Utils/EnumUtils/EnumUtils.cs b/FlexJobApi.Core/Utils/EnumUtils/EnumUtils.cs
index b7448be..87302ab 100644
--- a/FlexJobApi.Core/Utils/EnumUtils/EnumUtils.cs
+++ b/FlexJobApi.Core/Utils/EnumUtils/EnumUtils.cs
@@ -1,6 +1,7 @@
 锘縰sing System;
 using System.Collections.Generic;
 using System.Linq;
+using System.Reflection;
 using System.Text;
 using System.Threading.Tasks;
 
@@ -67,19 +68,48 @@
         }
 
         /// <summary>
+        /// 鑾峰彇鎻忚堪
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="model"></param>
+        /// <param name="t"></param>
+        /// <returns></returns>
+        public static string GetDescription<T>(this EnumModel<T> model, T t)
+            where T : struct
+        {
+            return model.Items
+                .Where(it => it.Enum.Equals(t))
+                .Select(it => it.Description)
+                .FirstOrDefault();
+        }
+
+        /// <summary>
         /// 鑾峰彇鏋氫妇
         /// </summary>
         /// <typeparam name="T"></typeparam>
         /// <param name="model"></param>
         /// <param name="name"></param>
         /// <returns></returns>
-        public static T GetEnum<T>(this EnumModel<T> model, string name)
-            where T : struct
+        public static T GetEnum<T>(string name)
+            where T : struct, Enum
         {
-            return model.Items
-               .Where(it => it.Name.Equals(name, StringComparison.OrdinalIgnoreCase))
-               .Select(it => it.Enum)
-               .FirstOrDefault();
+            name = Enum.GetNames<T>().FirstOrDefault(it => it.Equals(name, StringComparison.OrdinalIgnoreCase));
+            return Enum.Parse<T>(name);
+        }
+
+        /// <summary>
+        /// 鑾峰彇鑷畾涔夌壒鎬�
+        /// </summary>
+        /// <typeparam name="TEnum"></typeparam>
+        /// <typeparam name="TAttribute"></typeparam>
+        /// <param name="enum"></param>
+        /// <returns></returns>
+        public static TAttribute GetCustomAttribute<TEnum, TAttribute>(this TEnum @enum)
+            where TEnum : struct
+            where TAttribute : Attribute
+        {
+
+            return typeof(TEnum).GetMember(@enum.ToString())[0].GetCustomAttribute<TAttribute>();
         }
     }
 }

--
Gitblit v1.9.1