Exemple #1
0
 public static T ParseEnum <T>(string value, EnumParseBy parseBy)
 {
     if (parseBy == EnumParseBy.Code)
     {
         int result = int.Parse(value);
         //return (T)Convert.ChangeType(result, typeof(T));
         return((T)Enum.ToObject(typeof(T), result));
     }
     return(ParseEnum <T>(value));
 }
Exemple #2
0
        public static T?ToEnum <T>(this string value, T?defaultValue, EnumParseBy parseBy) where T : struct
        {
            if (parseBy == EnumParseBy.Code)
            {
                if (value == null || value.Trim() == "")
                {
                    return(defaultValue);
                }

                int result;
                //return int.TryParse(value, out result) ? (T)Enum.ToObject(typeof(T), result) : defaultValue;
                if (int.TryParse(value, out result))
                {
                    var a = (T)Enum.ToObject(typeof(T), result);
                    return(a);
                }
                else
                {
                    return(defaultValue);
                }
            }
            return(ToEnum <T>(value, defaultValue));
        }
Exemple #3
0
 public static T ToEnum <T>(this string value, EnumParseBy parseBy)
 {
     return(ParseEnum <T>(value, parseBy));
 }