public static TAttribute GetEnumAttribute <[EnumConstraint] TEnum, TAttribute>(this TEnum value) where TAttribute : Attribute { return(value.GetType() .GetMember(value.ToString()) .First() .GetCustomAttribute <TAttribute>()); }