我正在努力将WinForms类库迁移到Windows Phone,但我遇到了一个似乎有实际效果的变化。
代码按原样运行,只有通用逻辑,但WinForms中的类都归为[Serializable]
。但是,Windows Phone或Windows应用商店应用中不存在该属性。有没有理由省略这个? ISerializable
接口的情况相同。在MSDN文档底部的列表中,它实际上包括Windows 8和Windows Phone 8。
我不明白为什么这些类型被删除,因为它们既有用又非常通用。
答案 0 :(得分:4)
你为什么说"删除"?我怀疑它是否曾经存在过。
WinRT和WinRT中有许多不受支持的功能。 Silverlight(WP7 / WP8)堆栈如下: (不确定微软获取这些内容的时间表是什么)
Serializable
属性仅用于二进制序列化。 (而不是XmlSerialization等。)因为不支持二进制序列化等,所以您可能看不到WP8库中可用的完整堆栈,包括此属性。
如果您有序列化需求,请使用 XmlSerialization
或 DataContractSerializer
。
如果除了Binary之外什么都不适合你,我认为还有一些第三方库 sharpSerializer (没有使用它)