DeviceManager/DeviceRepair.Models/Enum/Extensions.cs
2024-05-28 22:36:38 +08:00

67 lines
2.4 KiB
C#

using System;
using System.ComponentModel;
using System.Reflection;
namespace DeviceRepair.Models
{
/// <summary>
/// 枚举类 扩展类
/// </summary>
public static class Extensions
{
/// <summary>
/// 获取枚举类型的描述
/// </summary>
/// <param name="enumeration"></param>
/// <returns></returns>
public static string ToDescription(this EnumOperationType enumeration)
{
Type type = enumeration.GetType();
MemberInfo[] memInfo = type.GetMember(enumeration.ToString());
if (null != memInfo && memInfo.Length > 0)
{
object[] attrs = memInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false);
if (null != attrs && attrs.Length > 0)
return ((DescriptionAttribute)attrs[0]).Description;
}
return enumeration.ToString();
}
/// <summary>
/// 获取枚举类型的描述
/// </summary>
/// <param name="enumeration"></param>
/// <returns></returns>
public static string ToDescription(this DeviceWarrantyRequestFormStatus enumeration)
{
Type type = enumeration.GetType();
MemberInfo[] memInfo = type.GetMember(enumeration.ToString());
if (null != memInfo && memInfo.Length > 0)
{
object[] attrs = memInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false);
if (null != attrs && attrs.Length > 0)
return ((DescriptionAttribute)attrs[0]).Description;
}
return enumeration.ToString();
}
/// <summary>
/// 获取枚举类型的描述
/// </summary>
/// <param name="enumeration"></param>
/// <returns></returns>
public static string ToDescription(this DeviceRunningStatus enumeration)
{
Type type = enumeration.GetType();
MemberInfo[] memInfo = type.GetMember(enumeration.ToString());
if (null != memInfo && memInfo.Length > 0)
{
object[] attrs = memInfo[0].GetCustomAttributes(typeof(DescriptionAttribute), false);
if (null != attrs && attrs.Length > 0)
return ((DescriptionAttribute)attrs[0]).Description;
}
return enumeration.ToString();
}
}
}