Home > DeveloperSection > Forums > Convert.ChangeType How to convert from String to Enum
ben reitman
ben reitman

Total Post:96

Points:676
Posted on    January-25-2014 1:40 AM

 C# C# 
Ratings:


 1 Reply(s)
 3144  View(s)
Rate this:

Convert.ChangeType How to convert from String to Enum

public static T Convert<T>(String value)

  {

    return (T)Convert.ChangeType(value, typeof(T));

  }

   public enum Category

   {

       Empty,

       Name,

       City,

       Country

   }

  Category cat=Convert<Category>("1");//Name=1

When I call Convert.ChangeType, the system throws an exception on the impossibility of conversion from String to Category. How to do the conversion? Maybe I need to implement any converter for my type?



Pravesh Singh

Total Post:411

Points:2881
Posted on    January-25-2014 1:53 AM

Hi Ben,

Use Enum.Parse method for this.

public static T Convert<T>(String value)

{

    if (typeof(T).IsEnum)

       return (T)Enum.Parse(typeof(T), value);


    return (T)Convert.ChangeType(value, typeof(T));

}


Don't want to miss updates? Please click the below button!

Follow MindStick