投到一个物体上,然后再投回来,我会失去什么

本文关键字:然后 回来 什么 失去 一个 | 更新日期: 2023-09-27 17:58:52

我正在开发一个Windows Phone应用程序,该应用程序需要将一些对象持久化到IsolatedStorage。独立存储非常方便,因为您只需使用几行代码就可以将一个对象插入。

我需要在类型不同但持久化方法不同的地方再持久化几个对象。我要做的只是简单地将我的类型强制转换为对象,保存它们,并在检索它们时将其强制转换回所需的特定类型。

由于该应用程序使用的惯例,我总是知道要执行哪个强制转换,但我想知道这样做是否会导致我在对象的强制转换/重铸过程中丢失任何东西。

编辑:我想指出的是,这些评论告诉我,我实际上是在寻找仿制药,却不知道它们能解决我的问题。我给所有提出建议的人投了赞成票,因为他们拆开了我的问题,找到了我困境的症结所在。感谢所有的建议。

投到一个物体上,然后再投回来,我会失去什么

Generics非常适合这种情况。这里有一个如何创建对隔离存储进行读写的通用方法的示例。

如果原始类型是值类型,那么您正在执行装箱和取消装箱,这有点影响性能。

无论原始类型是值类型引用类型,都可能会失去可读性和类型安全性。

编辑:

然而,这并不是您最初要求使用泛型的内容:

检查是否存在IsolatedStorage<T>(T的隔离储存),

如果没有,请创建一个使用通用API包装IsolatedStorage的存储。