Enum - GetCustomAttributeDescription

An object extension method that gets description attribute.

Try it

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;
    }
}