using System; using System.Collections.Generic; namespace JiaZhiQuan.Common.ClassEnum { public abstract class AbstractEnum where TEnum : notnull, AbstractEnum { protected static readonly Type enumType = typeof(TEnum); protected readonly static List Values = ListEnumProperties(); private static List ListEnumProperties() { List values = new List(); var members = enumType.GetProperties(); foreach (var item in members) { if (item.PropertyType == enumType) { TEnum? value = (TEnum?)item.GetValue(enumType); if (value != null) { values.Add(value); } } } return values; } } }