public static class Extensions
public static TAttribute GetAttribute<TAttribute>(this Enum enumValue)
where TAttribute : Attribute
return enumValue.GetType().GetMember(enumValue.ToString()).First().GetCustomAttribute<TAttribute>();
public static void Main()
var val = KnownBillingType.Insurance;
Console.WriteLine(val.GetAttribute<DisplayOverrideAttribute>().Display);
[AttributeUsage(AttributeTargets.Field)]
public class DisplayOverrideAttribute : Attribute
public DisplayOverrideAttribute(string display) => this.Display = display;
public enum KnownBillingType
[DisplayOverride("Test")]