Exemplo n.º 1
0
        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);
        }