0

У меня есть класс Foo помечены знаком [Serializable] и осуществлении ISerializable. Я пытаюсь сериализовать его с помощью DataContractSerializer. В GetObjectData я это делаю:Ошибка: «Deserializer не знает ни одного типа, который соответствует этому контракту»?

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

Он терпит неудачу с:

Element ':Test' contains data of the 'http://schemas.microsoft.com/2003/10/Serialization/Arrays:ArrayOfint' data contract. The deserializer has no knowledge of any type that maps to this contract. Add the type corresponding to 'ArrayOfint' to the list of known types - for example, by using the KnownTypeAttribute attribute or by adding it to the list of known types passed to DataContractSerializer.

Я попытался прохождения knownTypes ARG конструктору DataContractSerializer - не помогло.

ответ

0

Передача knownTypes arg на конструктор DataContractSerializer будет не справка. Вместо этого добавьте [KnownType(typeof(int[]))] в класс Foo.