58 lines
1.6 KiB
C#
58 lines
1.6 KiB
C#
using JY.Inspection.Common;
|
|
using JY.Model.Enums;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Linq;
|
|
using System.Reflection;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace JY.Inspection.Enums
|
|
{
|
|
public static class EnumExtension
|
|
{
|
|
// 输入枚举,获取其Description属性对应的名称
|
|
public static string GetDescription(this Enum value)
|
|
{
|
|
FieldInfo field = value.GetType().GetField(value.ToString());
|
|
if (field != null)
|
|
{
|
|
DescriptionAttribute attribute = Attribute.GetCustomAttribute(field, typeof(DescriptionAttribute)) as DescriptionAttribute;
|
|
if (attribute != null)
|
|
{
|
|
return attribute.Description;
|
|
}
|
|
}
|
|
return value.ToString();
|
|
}
|
|
|
|
// 输入数字,转化成对应的枚举
|
|
public static T ToEnum<T>(this int value)
|
|
{
|
|
return (T)Enum.ToObject(typeof(T), value);
|
|
}
|
|
|
|
public static Autuority MapperEnum(this EnumAutority srcEnum)
|
|
{
|
|
switch (srcEnum)
|
|
{
|
|
case EnumAutority.Administrator:
|
|
return Autuority.管理员;
|
|
|
|
case EnumAutority.Engineer:
|
|
return Autuority.工程师;
|
|
|
|
case EnumAutority.Operator:
|
|
return Autuority.操作员;
|
|
|
|
case EnumAutority.None:
|
|
return Autuority.Empty;
|
|
|
|
default:
|
|
return Autuority.Empty;
|
|
}
|
|
}
|
|
}
|
|
}
|