Mega Code Archive

 
Categories / C# / Data Types
 

Get Description

using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Reflection; using System.ComponentModel; namespace DCMS_Framework {   public static class EnumUtils {     public static string GetDescription( Enum enumType ) {       string description = string.Empty;       DescriptionAttribute da;       FieldInfo fi = enumType.GetType( ).GetField( enumType.ToString( ) );       da = ( DescriptionAttribute ) Attribute.GetCustomAttribute( fi, typeof( DescriptionAttribute ) );       if ( da != null ) {         description = da.Description;       } else {         description = enumType.ToString( );       }       return description;     }     public static T GetEnumForDescription<T>( string description )  {       object returnValue = Activator.CreateInstance( typeof( T ) );       Array enumArray = Enum.GetValues( typeof( T ) );       foreach ( object obj in enumArray ) {         string text = GetDescription( ( Enum ) obj );         if ( text == description ) {           returnValue = ( T ) obj;         }       }       return ( T ) returnValue;     }   } }