Enum - GetCustomAttributeDescription
An object extension method that gets description attribute.
static string formatter = "{0, -25}{1, -30}"; private static void DisplayEnumData(Color color) { // C# Extension Method: Enum - GetCustomAttributeDescription Console.WriteLine(formatter, color, color.GetCustomAttributeDescription()); } public static void Main() { Console.WriteLine(formatter, "Enum", "Description"); Console.WriteLine(formatter, "----", "-----------"); DisplayEnumData(Color.BlanchedAlmond); DisplayEnumData(Color.DarkSeaGreen); DisplayEnumData(Color.DeepSkyBlue); DisplayEnumData(Color.RosyBrown); } } public enum Color { [Description("Blanched Almond Color")] BlanchedAlmond = 1, [Description("Dark Sea Green Color")] DarkSeaGreen = 2, [Description("Deep Sky Blue Color")] DeepSkyBlue = 3, [Description("Rosy Brown Color")] RosyBrown = 4
View Source
using System; using System.ComponentModel; using System.Linq; public static partial class Extensions { /// <summary> /// An object extension method that gets description attribute. /// </summary> /// <param name="value">The value to act on.</param> /// <returns>The description attribute.</returns> public static string GetCustomAttributeDescription(this Enum value) { var attr = value.GetType().GetField(value.ToString()).GetCustomAttributes(typeof (DescriptionAttribute), false).FirstOrDefault() as DescriptionAttribute; return attr.Description; } }