Home
Manage Your Code
Snippet: Get Enum friendly description from Description Attribute (C#)
Title: Get Enum friendly description from Description Attribute Language: C#
Description: Retrieve 'friendly' enum description saved in the DescriptionAttribute Views: 144
Author: Filip K Date Added: 1/18/2008
Copy Code  
1public class EnumUtilities
2{
3    public static string GetDescription(object enumValue, string defaultDesc)
4    {
5        FieldInfo fi = enumValue.GetType().GetField(enumValue.ToString());
6        if (null != fi)
7        {
8            object[] attrs = fi.GetCustomAttributes(typeof(DescriptionAttribute), true);
9            if (attrs != null && attrs.Length > 0)
10            {
11                return ((DescriptionAttribute)attrs[0]).Description;
12            }
13        }
14        return defaultDesc;
15    }
16}
Usage
public enum AddressType
{
    [Description("Business Street Address")] BusinessStreetAddress,
    [Description("Business Mailing Address")] BusinessMailingAddress,
    [Description("Home Street Address")] HomeStreetAddress,
    [Description("Home Mailing Address")] HomeMailingAddress
}

string description1 = EnumUtilities.GetDescription(AddressType.BusinessStreetAddress, "");
string description2 = EnumUtilities.GetDescription(AddressType.HomeStreetAddress, "Some Address");
Notes
also have a look at: http://www.isi-net.com/Blogs/Ron-Muth/Extending-Enumerations