CONVERT.CHANGETYPE HOW TO CONVERT FROM STRING TO ENUM

ben reitman

Total Post:96

Points:676
Posted by  ben reitman
C# 
C#
 4025  View(s)
Ratings:
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?

  1. Pravesh Singh

    Post:412

    Points:2888
    Re: Convert.ChangeType How to convert from String to Enum

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

    }

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!