通过投射到一个物体然后再回来我会失去什么?

时间:2011-06-09 20:28:47

标签: c# generics windows-phone-7 isolatedstorage

我正在开发一个需要将一些对象持久保存到IsolatedStorage的Windows Phone应用程序。隔离存储非常方便,您可以使用几行代码将对象弹出。

我需要更多的对象持久存在,其中类型不同但持久化的方法不是。我要做的只是将我的类型转换为对象,保存它们,并在检索时将其转换回所需的特定类型。

由于应用程序使用的约定,我总是知道要执行哪个转换,但我想知道这样做是否会导致我在对象的转换/重铸期间丢失任何内容。

编辑:我想指出,这些评论告诉我,我实际上在寻找仿制药而不知道他们解决了我的问题。我赞成了所有提出建议的人,因为他们拆开了我的问题,发现了我的两难困境。感谢他们的所有建议。

2 个答案:

答案 0 :(得分:3)

泛型非常适合这种情况。这是一个如何创建读写隔离存储here的通用方法的示例。

答案 1 :(得分:2)

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

原始类型是否为值类型引用类型,您可能会失去可读性和类型安全性。

编辑:

然而,这不是您最初要求使用泛型的原因:

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

如果没有创建一个用通用API包装IsolatedStorage。