using System; using System.Collections.Generic; using System.ComponentModel; using System.Reflection; namespace Common { /// /// 枚举扩展方法 /// public static class EnumExtension { /// /// 返回枚举项的描述信息。 /// /// 要获取描述信息的枚举项。 /// 枚举想的描述信息。 public static string GetEnumDescription(this Enum value) { Type enumType = value.GetType(); // 获取枚举常数名称。 string name = Enum.GetName(enumType, value); if (name != null) { // 获取枚举字段。 FieldInfo fieldInfo = enumType.GetField(name); if (fieldInfo != null) { // 获取描述的属性。 DescriptionAttribute attr = Attribute.GetCustomAttribute(fieldInfo, typeof(DescriptionAttribute), false) as DescriptionAttribute; if (attr != null) { return attr.Description; } } } return null; } /// /// 获取彩种对应数据库表名称 /// /// 彩种枚举类型 /// public static string GetLotteryTableName(this Enum value) { if (value == null) { throw new ArgumentException("value"); } string tableName = String.Empty; var fieldInfo = value.GetType().GetField(value.ToString()); var attributes = (CustomAttribute.TableNameAttribute[])fieldInfo.GetCustomAttributes(typeof(CustomAttribute.TableNameAttribute), false); if (attributes.Length > 0) { tableName = attributes[0].TableName; } return tableName; } } }