我有一个类型为T的变量x和一个字符串中的值.例如,我有:
bool x, value = "True"
int x, value = "1"
Run Code Online (Sandbox Code Playgroud)
注意T可以引用或原始类型!
你可以使用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));
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1968 次 |
| 最近记录: |