Exemple #1
0
        internal static TEnum ToEnum <TEnum, TUnder>(object obj)
        {
            if (obj is string)
            {
                var str = obj.ToString();

#if SILVERLIGHT
                return((TEnum)EnumSL.Parse(typeof(TEnum), str));
#else
                return((TEnum)Enum.Parse(typeof(TEnum), str));
#endif
            }
#if SILVERLIGHT
            return((TEnum)ConvertSL.ChangeType(obj, typeof(TUnder)));
#else
            return((TEnum)Convert.ChangeType(obj, typeof(TUnder)));
#endif
        }
Exemple #2
0
        static private object ConvertToEnum(object value, Type typeFrom, Type typeTo)
        {
            if (!typeFrom.IsEnum)
            {
                if (typeFrom == typeof(string))
                {
#if SILVERLIGHT
                    return(EnumSL.Parse(typeTo, value.ToString()));
#else
                    return(Enum.Parse(typeTo, value.ToString()));
#endif
                }
            }
#if SILVERLIGHT
            return(Enum.ToObject(typeTo, ConvertSL.ChangeType(value, Enum.GetUnderlyingType(typeTo))));
#else
            return(Enum.ToObject(typeTo, Convert.ChangeType(value, Enum.GetUnderlyingType(typeTo))));
#endif
        }