我有一个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构造函数 - 没有帮助。
答案 0 :(得分:0)
将knownTypes
arg传递给DataContractSerializer构造函数将不帮助。相反,将[KnownType(typeof(int[]))]
添加到类Foo本身。