Enum:
public enum Menu { Home, [Description("About Page Description")] About, [Description("Contact Page Description")] Contact }
Code:
public static string Description(this Enum value) { // variables var enumType = value.GetType(); var field = enumType.GetField(value.ToString()); var attributes = field.GetCustomAttributes(typeof(DescriptionAttribute), false); // return return attributes.Length == 0 ? value.ToString() : ((DescriptionAttribute)attributes[0]).Description; }
Example usage:
string Description = Enumerators.Menu.About.Description();
In this case Description variable would be set to the string value "About Page Description". If the enum property you are accessing doesn't have a Description attribute the extension method will return the value of the enum instead.
Matt Pavey is a Microsoft Certified software developer who specializes in ASP.Net, VB.Net, C#, AJAX, LINQ, XML, XSL, Web Services, SQL, jQuery, and more. Follow on Twitter @matthewpavey
Thanks! Works smooth!
ReplyDelete