/// <summary> /// 枚举值 /// </summary> /// <param name="type"></param> /// <param name="text"></param> /// <returns></returns> public static object GetEnum(Model.Enum type, string text) { var field = type.FindFieldByName(text); if (field != null) { return(field.ID); } int intID = 0; if (int.TryParse(text, out intID)) { field = type.FindFieldByID(intID); if (field != null) { return(field.ID); } } double doubleID = 0; if (double.TryParse(text, out doubleID)) { field = type.FindFieldByID((int)doubleID); if (field != null) { return(field.ID); } } return(null); }
/// <summary> /// 枚举 /// </summary> /// <param name="type"></param> /// <param name="cell"></param> /// <param name="error"></param> /// <returns></returns> private object GetEnum(Model.Enum type, ICell cell, List <string> errors) { object result = null; if (cell.CellType == CellType.Numeric) { var field = type.FindFieldByID((int)cell.NumericCellValue); if (field != null) { result = field.ID; } } else if (cell.CellType == CellType.String) { var field = type.FindFieldByName(cell.StringCellValue); if (field != null) { result = field.ID; } } if (result == null) { errors.Add("无效的枚举值"); } return(result); }