Что я теряю, бросая объект, а затем снова обратно? - PullRequest
1 голос
/ 10 июня 2011

У меня есть приложение для Windows Phone, которое я разрабатываю и которому необходимо сохранить некоторые объекты в IsolatedStorage.Изолированное хранилище очень удобно тем, что вы можете просто вставить объект, используя несколько строк кода.

Мне нужно сохранить еще несколько объектов, где тип отличается, но метод сохранения - нет.Что я собирался сделать, так это просто привести свои типы к объекту, сохранить их, а при извлечении их приводить обратно к нужному типу.

Из-за соглашений, используемых приложением, я всегда знаю, какое преобразование выполнять, но яИнтересно, может ли это привести к потере чего-либо во время приведения / преобразования объекта.

РЕДАКТИРОВАТЬ: Я хотел бы отметить, что комментарии показали мне, что я на самом деле искал дженерики, не зная, что онирешить мою проблему.Я проголосовал за всех, кто предложил их, поскольку они разобрали мой вопрос и нашли суть моей дилеммы.Спасибо всем, кто их предложил.

Ответы [ 2 ]

3 голосов
/ 10 июня 2011

Generics идеально подходит для этого сценария. Вот пример того, как создать универсальные методы, которые читают и записывают в изолированное хранилище здесь .

2 голосов
/ 10 июня 2011

Если исходный тип является типом значения, тогда вы выполняете упаковку и распаковку, что немного снижает производительность.

Независимо от того, является ли исходный тип ссылочным типом значения, вы, вероятно, теряете читабельность и безопасность типов.

Edit:

Это не то, что вы изначально просили использовать дженерики:

Проверьте, есть ли изолированное хранилище (изолированное хранилище T),

Если нет, создайте оболочку IsolatedStorage с помощью общего API.

...