Serializing XNA 4.0

本文关键字:XNA Serializing | 更新日期: 2023-09-27 17:56:43

类型 'Microsoft.Xna.Framework.Graphics.RasterizerState' 在装配中 'Microsoft.Xna.Framework.Graphics, 版本=4.0.0.0,区域性=中性, PublicKeyToken=842cf8be1de50553' is 未标记为可序列化。

我试图序列化 xna 游戏工作室的部分。

不幸的是,我无法直接序列化此类。

有什么建议吗?

Serializing XNA 4.0

这是一个

常见问题。我要问自己的第一个问题是,为什么您尝试序列化类型未标记为可序列化的对象。这种类型的作者是否出于某种原因将其关闭?将来是否有可能使用一些不可序列化的行为扩展该类型?

然后我脑子里有 3 个解决方案。不幸的是,您无法直接序列化对象。你可以做的是:

    创建一个包装对象
  1. (标记为可序列化),其中包含要序列化的所有属性,并将值从实际对象复制到包装对象并返回。

  2. 扩展选项 1:简单包装器对象的集合,创建一个包含键值对列表的更动态的包装类,您将属性名称绑定到 propertyValues 并制作一些通用代码,这些代码可以基于现有对象填充此列表并基于此类列表填充对象。

  3. 使用不安全的代码并自己执行序列化(固定对象、读取其内存并写入内存流)。 <<这种方法真的非常不安全