Extension to Read Enum Annotation
From Logic Wiki
To read Description annotation text in an Enum like that
public enum Keys
{
[Description(@"optevia/controls/servicecustomer/registerbenefits")]
RegistrationBenifits,
[Description(@"page/signin/additionalservices")]
AdditionalServices,
}
We can use an Extension Method like this
using System;
using System.ComponentModel;
namespace MyAccount.Shared.Enums
{
public static class ExtensionMethods
{
public static string GetDescription(this Enum value)
{
var enumType = value.GetType();
var field = enumType.GetField(value.ToString());
var attributes = field.GetCustomAttributes(typeof(DescriptionAttribute), false);
return ((DescriptionAttribute)attributes[0]).Description;
}
}
}