0

我有一个类 Foo 标记[Serializable]和实现ISerializable。我正在尝试通过 DataContractSerializer 对其进行序列化。在 GetObjectData 我这样做:

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

它失败了:

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

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

4

1 回答 1

0

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

于 2010-09-25T15:53:25.330 回答