错误:“反序列化程序不知道映射到此合同的任何类型”?

时间:2010-09-25 15:53:08

标签: .net serialization datacontractserializer iserializable

我有一个Foo标记[Serializable]并实施ISerializable。我正在尝试通过DataContractSerializer序列化它。在GetObjectData中我这样做:

info.AddValue("Test", new[] { 1,2,3});

失败了:

  

元素':测试'包含'http://schemas.microsoft.com/2003/10/Serialization/Arrays:ArrayOfint'数据合同的数据。反序列化器不知道映射到此合同的任何类型。将与“ArrayOfint”对应的类型添加到已知类型列表中 - 例如,通过使用KnownTypeAttribute属性或将其添加到传递给DataContractSerializer的已知类型列表中。

我尝试将knownTypes arg传递给DataContractSerializer构造函数 - 没有帮助。

1 个答案:

答案 0 :(得分:0)

knownTypes arg传递给DataContractSerializer构造函数将帮助。相反,将[KnownType(typeof(int[]))]添加到类Foo本身。