public class GenericConverter { public static T Parse<T>(string sourceValue) where T : IConvertible { return (T)Convert.ChangeType(sourceValue, typeof(T)); } public static T Parse<T>(string sourceValue, IFormatProvider provider) where T : IConvertible { return (T)Convert.ChangeType(sourceValue, typeof(T), provider); } } public static class TConverter { public static T ChangeType<T>(object value) { return (T)ChangeType(typeof(T), value); } public static object ChangeType(Type t, object value) ...