772 lines
22 KiB
C#
772 lines
22 KiB
C#
using System;
|
||
using System.Collections.Generic;
|
||
using System.ComponentModel;
|
||
using System.Linq;
|
||
using System.Reflection;
|
||
|
||
namespace DH.Commons.Enums
|
||
{
|
||
public static class EnumHelper
|
||
{
|
||
/// <summary>
|
||
/// 根据枚举的代码名称获取枚举列表信息
|
||
/// </summary>
|
||
/// <param name="enumName"></param>
|
||
/// <returns></returns>
|
||
public static List<dynamic> GetEnumListByName(string enumName, string assemblyName = "Common.Model.Helper.EnumHelper+")
|
||
{
|
||
List<dynamic> list = new List<dynamic>();
|
||
|
||
string fullName = assemblyName + enumName;
|
||
|
||
Type t = typeof(EnumHelper).Assembly.GetType(fullName);
|
||
|
||
t.GetEnumNames().ToList().ForEach(e =>
|
||
{
|
||
int value = Convert.ToInt32(Enum.Parse(t, e));
|
||
string desc = ((Enum)Enum.Parse(t, e)).GetEnumDescription();
|
||
var item = new { Value = value, Desc = desc, Code = e };
|
||
list.Add(item);
|
||
});
|
||
|
||
return list;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取枚举的列表信息,一般供下拉列表使用
|
||
/// </summary>
|
||
/// <param name="enumType">枚举类型</param>
|
||
/// <returns>Desc:中文描述 Value:整形值 Code:枚举值</returns>
|
||
public static List<dynamic> GetEnumListByType(Type enumType)
|
||
{
|
||
List<dynamic> list = new List<dynamic>();
|
||
|
||
enumType.GetEnumNames().ToList().ForEach(e =>
|
||
{
|
||
int value = Convert.ToInt32(Enum.Parse(enumType, e));
|
||
string desc = ((Enum)Enum.Parse(enumType, e)).GetEnumDescription();
|
||
var item = new { Value = value, Desc = desc, Code = e };
|
||
list.Add(item);
|
||
});
|
||
|
||
return list;
|
||
}
|
||
|
||
/// <summary>
|
||
/// 获取具体某一枚举的中文描述
|
||
/// </summary>
|
||
/// <param name="enumObj"></param>
|
||
/// <returns></returns>
|
||
public static string GetEnumDescription(this Enum enumObj)
|
||
{
|
||
Type t = enumObj.GetType();
|
||
FieldInfo f = t.GetField(enumObj.ToString());
|
||
if (f == null)
|
||
{
|
||
return enumObj.ToString();
|
||
}
|
||
DescriptionAttribute attr = f.GetCustomAttribute<DescriptionAttribute>();
|
||
if (attr != null)
|
||
{
|
||
return attr.Description;
|
||
}
|
||
else
|
||
{
|
||
return enumObj.ToString();
|
||
}
|
||
}
|
||
|
||
//public static System.Windows.Media.Color GetEnumSelectedMediaColor(this Enum enumObj)
|
||
//{
|
||
// Type t = enumObj.GetType();
|
||
// FieldInfo f = t.GetField(enumObj.ToString());
|
||
|
||
// ColorSelectAttribute attr = f.GetCustomAttribute<ColorSelectAttribute>();
|
||
// if (attr != null)
|
||
// {
|
||
// var prop = typeof(System.Windows.Media.Colors).GetProperties().FirstOrDefault(p => p.Name == attr.SelectedColor);
|
||
// if (prop != null)
|
||
// {
|
||
// return (System.Windows.Media.Color)prop.GetValue(null);
|
||
// }
|
||
// }
|
||
// return System.Windows.Media.Colors.Transparent;
|
||
//}
|
||
|
||
//public static System.Drawing.Color GetEnumSelectedColor(this Enum enumObj)
|
||
//{
|
||
// Type t = enumObj.GetType();
|
||
// FieldInfo f = t.GetField(enumObj.ToString());
|
||
|
||
// ColorSelectAttribute attr = f.GetCustomAttribute<ColorSelectAttribute>();
|
||
// if (attr != null)
|
||
// {
|
||
// return System.Drawing.Color.FromName(attr.SelectedColor);
|
||
// }
|
||
// else
|
||
// {
|
||
// return System.Drawing.Color.Transparent;
|
||
// }
|
||
//}
|
||
|
||
//public static System.Drawing.Color GetEnumSelectedFontColor(this Enum enumObj)
|
||
//{
|
||
// Type t = enumObj.GetType();
|
||
// FieldInfo f = t.GetField(enumObj.ToString());
|
||
|
||
// var attr = f.GetCustomAttribute<FontColorSelectAttribute>();
|
||
// if (attr != null)
|
||
// {
|
||
// return System.Drawing.Color.FromName(attr.SelectedColor);
|
||
// }
|
||
// else
|
||
// {
|
||
// return System.Drawing.Color.Transparent;
|
||
// }
|
||
//}
|
||
|
||
//public static string GetEnumSelectedColorString(this Enum enumObj)
|
||
//{
|
||
// Type t = enumObj.GetType();
|
||
// FieldInfo f = t.GetField(enumObj.ToString());
|
||
|
||
// ColorSelectAttribute attr = f.GetCustomAttribute<ColorSelectAttribute>();
|
||
// if (attr != null)
|
||
// {
|
||
// return attr.SelectedColor;
|
||
// }
|
||
// else
|
||
// {
|
||
// return "Transparent";
|
||
// }
|
||
//}
|
||
|
||
|
||
/// <summary>
|
||
/// 当枚举牵涉到状态变换,检查现状态是否满足待转换的状态的前置状态要求
|
||
/// </summary>
|
||
/// <param name="stateToBe"></param>
|
||
/// <param name="currentState"></param>
|
||
/// <returns></returns>
|
||
//public static bool CheckPreStateValid(this Enum stateToBe, int currentState)
|
||
//{
|
||
// Type t = stateToBe.GetType();
|
||
// FieldInfo f = t.GetField(stateToBe.ToString());
|
||
|
||
// PreStateAttribute attr = f.GetCustomAttribute<PreStateAttribute>();
|
||
// if (attr == null)
|
||
// {
|
||
// return true;
|
||
// }
|
||
// else
|
||
// {
|
||
// return attr.CheckPreStateValid(currentState);
|
||
// }
|
||
//}
|
||
|
||
/// <summary>
|
||
/// 设备状态定义
|
||
/// 未初始化和异常状态无前置状态要求
|
||
/// 初始化操作前置状态必须是未初始化、关闭状态和异常状态
|
||
/// 打开前置必须是初始化和暂停
|
||
/// 关闭前置必须是打开和暂停和异常
|
||
/// 暂停前置必须是打开
|
||
/// </summary>
|
||
//public enum DeviceState
|
||
//{
|
||
// TBD = -1,
|
||
|
||
// [ColorSelect("Gray")]
|
||
// [FontColorSelect("Black")]
|
||
// [Description("未初始化")]
|
||
// DSUninit = 1,
|
||
|
||
// [ColorSelect("Gold")]
|
||
// [FontColorSelect("White")]
|
||
// [PreState(1 + 2 + 4 + 8 + 32)]
|
||
// [Description("初始化")]
|
||
// DSInit = 2,
|
||
|
||
// [ColorSelect("Lime")]
|
||
// [FontColorSelect("Black")]
|
||
// [PreState(2 + 4 + 16)]
|
||
// [Description("运行中")]
|
||
// DSOpen = 4,
|
||
|
||
// [ColorSelect("Gray")]
|
||
// [FontColorSelect("White")]
|
||
// [PreState(1 + 4 + 8 + 16 + 32)]
|
||
// [Description("关闭")]
|
||
// DSClose = 8,
|
||
|
||
// [ColorSelect("Gold")]
|
||
// [FontColorSelect("White")]
|
||
// [PreState(4 + 16)]
|
||
// [Description("暂停")]
|
||
// DSPause = 16,
|
||
|
||
// [ColorSelect("Red")]
|
||
// [FontColorSelect("White")]
|
||
// [Description("异常")]
|
||
// DSExcept = 32
|
||
//}
|
||
|
||
///// <summary>
|
||
///// 工序状态
|
||
///// </summary>
|
||
//public enum RunState
|
||
//{
|
||
// [ColorSelect("Gold")]
|
||
// [Description("空闲")]
|
||
// Idle = 1,
|
||
// [ColorSelect("Lime")]
|
||
// [Description("运行中")]
|
||
// Running = 2,
|
||
// [ColorSelect("Gray")]
|
||
// [Description("停止")]
|
||
// Stop = 3,
|
||
// [ColorSelect("Red")]
|
||
// [Description("宕机")]
|
||
// Down = 99,
|
||
//}
|
||
|
||
[Flags]
|
||
public enum DeviceAttributeType
|
||
{
|
||
[Description("设备驱动")]
|
||
Device = 1,
|
||
|
||
[Description("初始配置")]
|
||
InitialConfig = 2,
|
||
[Description("操作配置")]
|
||
OperationConfig = 4,
|
||
[Description("设备配置")]
|
||
DeviceConfig = 8,
|
||
[Description("输入配置")]
|
||
InputConfig = 16,
|
||
|
||
[Description("初始配置控件")]
|
||
InitialConfigCtrl = 32,
|
||
[Description("操作配置控件")]
|
||
OperationConfigCtrl = 64,
|
||
[Description("设备配置控件")]
|
||
DeviceConfigCtrl = 128,
|
||
[Description("输入配置控件")]
|
||
InputConfigCtrl = 256,
|
||
|
||
[Description("运行控件")]
|
||
RunCtrl = 512,
|
||
|
||
[Description("操作配置面板")]
|
||
OperationConfigPanel = 1024,
|
||
}
|
||
|
||
public enum EnableState
|
||
{
|
||
[Description("启用")]
|
||
Enabled = 0,
|
||
[Description("禁用")]
|
||
Disabled = 1,
|
||
}
|
||
|
||
public enum EnableStateFilter
|
||
{
|
||
[Description("全部")]
|
||
All = -1,
|
||
[Description("启用")]
|
||
Enabled = 0,
|
||
[Description("禁用")]
|
||
Disabled = 1,
|
||
}
|
||
|
||
public enum OutputResult
|
||
{
|
||
[Description("OK")]
|
||
OK = 1,
|
||
[Description("NG")]
|
||
NG = 2,
|
||
}
|
||
|
||
/// <summary>
|
||
/// PLC项目的值的类型
|
||
/// </summary>
|
||
public enum PLCItemType
|
||
{
|
||
[Description("布尔类型")]
|
||
Bool = 0,
|
||
[Description("整型")]
|
||
Integer = 1,
|
||
[Description("字符串型")]
|
||
String = 2,
|
||
}
|
||
|
||
/// <summary>
|
||
/// 对PLC项目的操作类型
|
||
/// </summary>
|
||
public enum PLCOpType
|
||
{
|
||
[Description("读取")]
|
||
Read = 1,
|
||
[Description("写入")]
|
||
Write = 2,
|
||
[Description("监控")]
|
||
Monitor = 4,
|
||
|
||
/// <summary>
|
||
/// 报警监控 1+8
|
||
/// </summary>
|
||
[Description("报警监控")]
|
||
WarningMonitor = 9,
|
||
|
||
/// <summary>
|
||
/// CT监控 1+16
|
||
/// </summary>
|
||
[Description("CT监控")]
|
||
CTMonitor = 17,
|
||
}
|
||
|
||
/// <summary>
|
||
/// 相机运行模式
|
||
/// </summary>
|
||
public enum CameraOpMode
|
||
{
|
||
[Description("单次拍照")]
|
||
SingleSnapShot = 1,
|
||
[Description("连续模式")]
|
||
ContinuousMode = 2,
|
||
}
|
||
|
||
/// <summary>
|
||
/// 日志类型
|
||
/// </summary>
|
||
public enum LogType
|
||
{
|
||
[Description("警告信息")]
|
||
Exception_Warning = 1,
|
||
[Description("错误信息")]
|
||
Exception_Error = 2,
|
||
[Description("致命信息")]
|
||
Exception_Fatal = 3,
|
||
|
||
[Description("设备信息")]
|
||
Info_Device = 11,
|
||
[Description("工序信息")]
|
||
Info_Process = 12,
|
||
[Description("操作信息")]
|
||
Info_Operation = 13,
|
||
|
||
[Description("用户操作信息")]
|
||
User_Operation = 21,
|
||
|
||
[Description("测量结果")]
|
||
MeasureResult = 31,
|
||
}
|
||
|
||
//public enum CameraDriverType
|
||
//{
|
||
// Halcon,
|
||
// //HalconPlugIn,
|
||
// Hik,
|
||
//}
|
||
|
||
//public enum ImageType
|
||
//{
|
||
// Bmp,
|
||
// Png,
|
||
// Jpeg,
|
||
//}
|
||
|
||
//public enum ReplyValue
|
||
//{
|
||
// OK = 1,
|
||
// NG = -1,
|
||
// IGNORE = -999,
|
||
//}
|
||
|
||
public enum PriorityDirection
|
||
{
|
||
X,
|
||
Y,
|
||
}
|
||
|
||
public enum ElementState
|
||
{
|
||
New = 1,
|
||
MouseHover = 2,
|
||
MouseInSide = 3,
|
||
Selected = 4,
|
||
Moving = 5,
|
||
Editing = 6,
|
||
|
||
Normal = 11,
|
||
|
||
Measuring = 21,
|
||
MeasureDoneOK = 22,
|
||
MeasureDoneNG = 23,
|
||
|
||
CanStretchLeft = 41,
|
||
CanStretchRight = 42,
|
||
CanStretchTop = 43,
|
||
CanStretchBottom = 44,
|
||
|
||
CanStretchLeftUpperCorner = 45,
|
||
CanStretchLeftLowerCorner = 46,
|
||
CanStretchRightUpperCorner = 47,
|
||
CanStretchRightLowerCorner = 48,
|
||
|
||
StretchingLeft = 31,
|
||
StretchingRight = 32,
|
||
StretchingTop = 33,
|
||
StretchingBottom = 34,
|
||
|
||
StretchingLeftUpperCorner = 35,
|
||
StretchingLeftLowerCorner = 36,
|
||
StretchingRightUpperCorner = 37,
|
||
StretchingRightLowerCorner = 38,
|
||
}
|
||
|
||
public enum MouseState
|
||
{
|
||
Normal = 1,
|
||
HoverElement = 2,
|
||
InSideElement = 3,
|
||
|
||
MoveElement = 4,
|
||
|
||
StretchingLeft = 11,
|
||
StretchingRight = 12,
|
||
StretchingTop = 13,
|
||
StretchingBottom = 14,
|
||
|
||
StretchingLeftUpperCorner = 15,
|
||
StretchingLeftLowerCorner = 16,
|
||
StretchingRightUpperCorner = 17,
|
||
StretchingRightLowerCorner = 18,
|
||
|
||
New = 21,
|
||
Editing = 22,
|
||
//SelectedElement = 23,
|
||
|
||
MovingAll = 31,
|
||
|
||
SelectionZone = 41,
|
||
SelectionZoneDoing = 42,
|
||
}
|
||
|
||
public enum RunMode
|
||
{
|
||
[Description("正常运行模式")]
|
||
NormalMode = 1,
|
||
[Description("调试模式")]
|
||
DebugMode = 0,
|
||
[Description("模拟模式")]
|
||
DemoMode = 2,
|
||
}
|
||
|
||
public enum MoveType
|
||
{
|
||
[Description("绝对运动")]
|
||
AbsoluteMove = 1,
|
||
[Description("机器人坐标系相对运动")]
|
||
RobotRelativeMove = 2,
|
||
[Description("相对某个基准点位的相对运动")]
|
||
BasedPointRelativeMove = 3,
|
||
[Description("回原点")]
|
||
Origin = 4,
|
||
[Description("左侧姿势")]
|
||
LeftPose = 6,
|
||
[Description("右侧姿势")]
|
||
RightPose = 5,
|
||
[Description("前侧姿势")]
|
||
FrontPose = 7,
|
||
[Description("相机坐标系相对运动")]
|
||
CameraRelativeMove = 12,
|
||
}
|
||
|
||
/// <summary>
|
||
/// 马达/运动板卡运行模式
|
||
/// </summary>
|
||
public enum MotionMode
|
||
{
|
||
/// <summary>
|
||
/// 普通点位运动
|
||
/// </summary>
|
||
[Description("普通点位运动")]
|
||
P2P = 1,
|
||
|
||
/// <summary>
|
||
/// 找正限位运动
|
||
/// </summary>
|
||
[Description("找正限位运动")]
|
||
FindPositive = 4,
|
||
|
||
/// <summary>
|
||
/// 离开正限位
|
||
/// </summary>
|
||
[Description("离开正限位")]
|
||
LeavePositive = 5,
|
||
|
||
/// <summary>
|
||
/// 找负限位运动
|
||
/// </summary>
|
||
[Description("找负限位运动")]
|
||
FindNegative = 6,
|
||
|
||
/// <summary>
|
||
/// 离开负限位
|
||
/// </summary>
|
||
[Description("离开负限位")]
|
||
LeaveNegative = 7,
|
||
|
||
/// <summary>
|
||
/// 找原点运动
|
||
/// </summary>
|
||
[Description("回原点运动")]
|
||
GoHome = 8,
|
||
|
||
/// <summary>
|
||
/// Jog模式
|
||
/// </summary>
|
||
[Description("Jog模式")]
|
||
Jog = 9,
|
||
|
||
///// <summary>
|
||
///// 读数头找原点方式
|
||
///// </summary>
|
||
//[Description("找原点inde")]
|
||
//FindOriIndex = 10,
|
||
|
||
///// <summary>
|
||
///// 插补模式
|
||
///// </summary>
|
||
//[Description("插补模式")]
|
||
//Coordinate = 11
|
||
}
|
||
|
||
/// <summary>
|
||
/// IO预定义类型 主要针对输出
|
||
/// </summary>
|
||
public enum IOPrestatement
|
||
{
|
||
[Description("自定义")]
|
||
Customized = 0,
|
||
|
||
[Description("指示灯-黄")]
|
||
Light_Yellow = 1,
|
||
[Description("指示灯-绿")]
|
||
Light_Green = 2,
|
||
[Description("指示灯-红")]
|
||
Light_Red = 3,
|
||
[Description("蜂鸣器")]
|
||
Beep = 4,
|
||
[Description("照明灯")]
|
||
Light = 5,
|
||
|
||
[Description("急停")]
|
||
EmergencyStop = 99,
|
||
}
|
||
|
||
///// <summary>
|
||
///// GTS运动板卡控制返回控制码
|
||
///// </summary>
|
||
//public enum GTSRetCode
|
||
//{
|
||
// [Description("指令执行成功")]
|
||
// GRCRunOK = 0, // 指令执行成功
|
||
// [Description("指令执行错误")]
|
||
// GRCRunErr = 1, // 指令执行错误
|
||
// [Description("icense不支持")]
|
||
// GRCNotSupport = 2, // icense不支持
|
||
// [Description("指令参数错误")]
|
||
// GRCInvalidParam = 7, // 指令参数错误
|
||
// [Description("主机和运动控制器通讯失败")]
|
||
// GRCCommErr = -1, // 主机和运动控制器通讯失败
|
||
// [Description("打开控制器失败")]
|
||
// GRCOpenErr = -6, // 打开控制器失败
|
||
// [Description("运动控制器没有响应")]
|
||
// GRCNotAck = -7 // 运动控制器没有响应
|
||
//}
|
||
|
||
/// <summary>
|
||
/// 运动板卡 IO 类型(IN OUT)
|
||
/// </summary>
|
||
public enum IOType
|
||
{
|
||
[Description("INPUT")]
|
||
INPUT = 0,
|
||
[Description("OUTPUT")]
|
||
OUTPUT = 1
|
||
}
|
||
|
||
public enum IOValue
|
||
{
|
||
[Description("关闭")]
|
||
FALSE = 0,
|
||
[Description("开启")]
|
||
TRUE = 1,
|
||
[Description("反转")]
|
||
REVERSE = 2,
|
||
}
|
||
|
||
/// <summary>
|
||
/// PubSubCenter事件中心的消息类型
|
||
/// </summary>
|
||
public enum PubSubCenterMessageType
|
||
{
|
||
/// <summary>
|
||
/// 运行界面更新产品下拉
|
||
/// </summary>
|
||
[Description("更新产品下拉")]
|
||
UpdateProductionCodes,
|
||
|
||
/// <summary>
|
||
/// 流程是否关闭
|
||
/// </summary>
|
||
[Description("流程是否打开")]
|
||
IsProcessOpened,
|
||
|
||
/// <summary>
|
||
/// 清除数据
|
||
/// </summary>
|
||
[Description("清除数据")]
|
||
ClearData,
|
||
/// <summary>
|
||
/// 更新批次信息
|
||
/// </summary>
|
||
[Description("更新批次信息")]
|
||
UpdateBatchNO,
|
||
/// <summary>
|
||
/// 请求批次信息
|
||
/// </summary>
|
||
[Description("更新批次信息")]
|
||
RequestBatchNO,
|
||
|
||
/// <summary>
|
||
/// 模型检测异常
|
||
/// </summary>
|
||
[Description("模型检测异常")]
|
||
MLDetectException,
|
||
}
|
||
public enum SizeEnum
|
||
{
|
||
[Description("圆形测量")]
|
||
圆形测量 = 1,
|
||
[Description("直线测量")]
|
||
直线测量 = 2,
|
||
[Description("线线测量")]
|
||
线线测量 = 3,
|
||
[Description("线圆测量")]
|
||
线圆测量 = 4,
|
||
[Description("高度测量")]
|
||
高度测量 = 5,
|
||
}
|
||
|
||
public enum MachineState
|
||
{
|
||
Unknown = 0,
|
||
Ready = 1,
|
||
Running = 2,
|
||
Alarm = 3,
|
||
Pause = 4,
|
||
Resetting = 5,
|
||
Closing = 6,
|
||
ClearProduct = 7,
|
||
Warning = 8,
|
||
}
|
||
|
||
//public enum ResultState
|
||
//{
|
||
// [Description("NA")]
|
||
// NA = -5,
|
||
// [Description("尺寸NG")]
|
||
// SizeNG = -4,
|
||
// [Description("检测NG")]
|
||
// DetectNG = -3,
|
||
|
||
// //[Description("检测不足TBD")]
|
||
// // ShortageTBD = -2,
|
||
// [Description("检测结果TBD")]
|
||
// ResultTBD = -1,
|
||
// [Description("OK")]
|
||
// OK = 1,
|
||
// // [Description("NG")]
|
||
// // NG = 2,
|
||
// //统计结果
|
||
// [Description("A类NG")]
|
||
// A_NG = 25,
|
||
// [Description("B类NG")]
|
||
// B_NG = 26,
|
||
// [Description("C类NG")]
|
||
// C_NG = 27,
|
||
//}
|
||
public enum HikCameraType
|
||
{
|
||
[Description("HikCamera-Gige")]
|
||
Gige = 0,
|
||
[Description("HikCamera-USB")]
|
||
USB = 1
|
||
}
|
||
|
||
/// <summary>
|
||
/// 光源操作
|
||
/// </summary>
|
||
public enum LightOperation
|
||
{
|
||
[Description("打开")]
|
||
Open = 1,
|
||
[Description("关闭")]
|
||
Close = 2,
|
||
[Description("写入")]
|
||
Write = 3,
|
||
[Description("读取")]
|
||
Read = 4,
|
||
[Description("频闪")]
|
||
Flash = 5,
|
||
}
|
||
|
||
/// <summary>
|
||
/// 监听反馈数据值
|
||
/// </summary>
|
||
public enum ReturnValue
|
||
{
|
||
OKVALUE = 1,
|
||
NGVALUE = -1,
|
||
EXCEPTIONVALUE = -2,
|
||
UNAUTHORIZATION = -10,
|
||
IGNORE = -999,
|
||
}
|
||
|
||
//public enum LogLevel
|
||
//{
|
||
// [Description("详细")]
|
||
// [ColorSelect("White")]
|
||
// [FontColorSelect("Green")]
|
||
// Detail = 2,
|
||
// [Description("信息")]
|
||
// [ColorSelect("White")]
|
||
// [FontColorSelect("Dark")]
|
||
// Information = 3,
|
||
// [Description("辅助")]
|
||
// [ColorSelect("White")]
|
||
// [FontColorSelect("Blue")]
|
||
// Assist = 4,
|
||
// [Description("动作")]
|
||
// [ColorSelect("DarkGreen")]
|
||
// [FontColorSelect("Yellow")]
|
||
// Action = 5,
|
||
// [Description("错误")]
|
||
// [ColorSelect("Orange")]
|
||
// [FontColorSelect("White")]
|
||
// Error = 6,
|
||
// [Description("警报")]
|
||
// [ColorSelect("Brown")]
|
||
// [FontColorSelect("White")]
|
||
// Warning = 7,
|
||
// [Description("异常")]
|
||
// [ColorSelect("Red")]
|
||
// [FontColorSelect("White")]
|
||
// Exception = 8,
|
||
//}
|
||
}
|
||
}
|