C#二进制序列化和通用列表的反序列化

时间:2017-03-11 11:40:51

标签: c# unity3d serialization deserialization

我在反序列化过程中遇到错误:

SerializationException: Could not find type 'System.Collections.Generic.List`1[[ExampleNamespace.ExampleClass, Assembly-CSharp, Version=0.1.6279.22118, Culture=neutral, PublicKeyToken=null]]'.

首先,我序列化了一个自定义的 [Serializable] 类(saveStructure):

BinaryFormatter formatter = new BinaryFormatter();
FileStream file = File.Open(saveFilePath, FileMode.Open);

formatter.Serialize(file, saveStructure);
file.Close();

其中包含一些字段以及List<ExampleClass>字段。 MyCustomClass也是 [Serializable] 类。

似乎正确地序列化了结构,但在反序列化期间无法读回它:

BinaryFormatter formatter = new BinaryFormatter();
FileStream file = File.Open(saveFilePath, FileMode.Open);

SaveStructure saveStructure = (SaveStructure)formatter.Deserialize(file);
file.Close();

我知道XmlSerializer,但我不想将数据暴露给用户。

提前致谢!

编辑:

我已经通过使用Arrays而不是Lists解决了我的问题,但是,如果有人要为List问题提供解决方案,我仍然会感激不尽!

0 个答案:

没有答案
相关问题