sunpengfei
2025-08-06 fe910d268980a24ad6ba565f045ecae792bc208c
FlexJobApi.Core/Utils/EnumUtils/EnumUtils.cs
@@ -1,6 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Text;
using System.Threading.Tasks;
@@ -67,6 +68,22 @@
        }
        /// <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>
@@ -81,5 +98,20 @@
               .Select(it => it.Enum)
               .FirstOrDefault();
        }
        /// <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>();
        }
    }
}