using System; using System.ComponentModel; using System.Reflection; namespace EnumDescription { class Program { static void Main(string[] args) { TrafficLamp trafficLamp = TrafficLamp.Red; Console.WriteLine(trafficLamp.ToString()); //Red Console.WriteLine(GetEnumDescription(trafficLamp)); //you cannot cross the road Console.WriteLine((int)trafficLamp); //0 Console.ReadLine(); } public static String GetEnumDescription(Enum e) { FieldInfo enumInfo = e.GetType().GetField(e.ToString()); DescriptionAttribute[] EnumAttributes = (DescriptionAttribute[])enumInfo.GetCustomAttributes(typeof(DescriptionAttribute), false); if (EnumAttributes.Length > 0) { return EnumAttributes[0].Description; } return e.ToString(); } } public enum TrafficLamp { [Description("You cannot cross the road.")] Red = 0, Green, Yellow } }