我在C#WPF .NET 4.0中编写游戏代码,但我一直在将它移植到WinRT作为Metro应用程序。
我无法弄清楚序列化。在我用[serializable()]标记一个类之前 并将其保存到磁盘。
到目前为止,我已经找到了DataContracts和xmlserialization,但是如何序列化一个类并将其写入磁盘?
我是否必须使用属性标记班级中的每个属性,请帮助
答案 0 :(得分:1)
使用XmlSerializer
,不,你没有 - 事实上,在许多情况下你不需要标记任何东西。但是,添加属性可以更好地控制最终的xml。
使用DataContractSerializer
,当然首选添加[DataContract]
和[DataMember]
属性;你没有得到相同类型的控件,但效果很好。
两者的特征不同:
您可能还想考虑最近支持WinRT的protobuf-net,并且输出和的速度比其他两个快得多(使用new precompiler时);它支持DCS和XS组合的几乎所有功能和选项,但具有快速二进制,跨平台输出。