public static IEnumerable <DisplayAttribute> GetDisplayAttributes(Type enumType, Enum value) { enumType = UnboxNullable(enumType); var values = SplitFlags(value); var result = values.Select(v => { DisplayAttribute da = null; var field = enumType.GetField(v.ToString()); if (field != null) { var customAttribute = (DisplayAttribute)DisplayAttribute.GetCustomAttribute(field, typeof(DisplayAttribute)); if (customAttribute != null) { da = customAttribute; } else { da = new DisplayAttribute() { Name = v.ToString() } }; } return(da); }).Where(da => da != null); return(result); }