如何将字符串转换为特定类型的对象?
我想制作一个PlayerPrefs包装器,在其中可以存储所需的任何数据。
所以就这样
void Set<T>(string Key, T Value)
{
PlayerPrefs.SetString(Key, Value.ToString());
}
T Get<T>(string Key)// where T : IParseable
{
//Code that checks for errors and throws exceptions
return T.Parse(PlayerPrefs.GetString(Key));
}
这里的问题是它“依赖”可解析的数据(或实现我发明的XD的IParseable),而原始数据类型甚至都认为它们都具有Parse
方法而没有实现它< / p>
我已经可以使用IParseable
界面了吗?
如果不是,是否有办法知道T类型是否是原始数据类型?
是否有更好的方法来实现我想做的事?
如果我为此使用JSON会更好吗?
答案 0 :(得分:2)
注释正确,您不应该使用ToString()和Parse。您正在执行(或尝试执行)串行化。这里有一些资源供您参考,以了解如何序列化和反序列化数据:
如果使用上述示例之一,则数据应序列化为人类可读的格式。它的效率较低,但是序列化为字符串的效率已经比序列化为字节的效率低。如果您需要那种效率,就不应该使用PlayerPrefs。