вы можете использовать Convert.ChangeType
метод .
Это будет охватывать все базовые типы преобразования.
Пример: var i = Convert.ChangeType("1", typeof(int));
Вы можететакже взгляните на IConvertible
интерфейс , который вы можете использовать для преобразования ваших собственных объектов из или в другой тип.
Наконец, как сказал codymanix, вы можете положиться на OOB XmlSerializationили двоичная сериализация для сериализации ваших объектов.
[править] вы можете проверить во время компиляции, является ли целевой тип конвертируемым, обернув метод convert.ChangeType в служебный класс, подобный этому:
public static class ConvertUtility
{
public static T Convert<T>(object source) where T : IConvertible
{
return (T)System.Convert.ChangeType(source, typeof(T));
}
}