public static T To <T>(this IConvertible value, IConvertible ifError)
        {
            try
            {
                Type t = typeof(T);
                Type u = Nullable.GetUnderlyingType(t);

                if (u != null)
                {
                    if (value == null || value.Equals(""))
                    {
                        return((T)ifError);
                    }

                    return((T)Convert.ChangeType(value, u));
                }
                else
                {
                    if (value == null || value.Equals(""))
                    {
                        return((T)(ifError.To <T>()));
                    }

                    return((T)Convert.ChangeType(value, t));
                }
            }
            catch
            {
                return((T)ifError);
            }
        }