У меня есть класс 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.
Я попытался передатьknownTypes
аргумент к конструктору DataContractSerializer - не помогло.