2014-04-07 4 views
3

Я работаю над переносом библиотеки классов WinForms на Windows Phone, но я сталкиваюсь с изменением, которое, похоже, имеет реальный эффект.Почему атрибут [Serializable] удален с Windows Phone?

Код работает так, как есть, существует только общая логика, но классы в WinForms все относятся к [Serializable]. Однако атрибут не существует в приложениях Windows Phone или Windows Store. Есть ли причина, по которой это было опущено? Это то же самое для интерфейса ISerializable. В списке внизу документов MSDN на самом деле есть как Windows 8, так и Windows Phone 8.

Я не понимаю, почему эти типы были удалены, так как они оба полезны, а также очень общие.

+1

Кто знает? Вероятно, вы должны спросить людей, которые написали код. Я бы попробовал MSDN. StackOverflow не является хорошим форумом для этого. –

+0

Хорошо, спасибо, я попробую. – Matthew

ответ

4

Почему вы говорите «удалено»? Я сомневаюсь, что это когда-либо существовало для начала.

Есть куча неподдерживаемых функций в WinRT & Silverlight (WP7/WP8) суммируется как: (не уверен, что график Microsoft, чтобы получить их)

  1. XSD для обработки класса
  2. Binary Форматирование/Сериализация и т.д.

атрибут Serializable используется только для бинарной сериализации. (а не для XmlSerialization и т. д.) Поскольку двоичная сериализация и т. д. не поддерживаются, вы можете не видеть полный стек классов, доступных в библиотеках WP8, включая этот атрибут.

Если у вас есть потребности Serialization, используйте XmlSerialization или DataContractSerializer.

И если иной Binary не работает для вас, я думаю, что есть какая-то третья сторона библиотека sharpSerializer (не использовал его)

Смежные вопросы