J'ai la structure suivante:Comment correctement sérialiser une classe de base en JSON dans Silverlight?
class Base
{
}
class Child : Base
{
}
Lorsque je tente de faire ce qui suit:
DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(Base));
serializer.WriteObject(stream, data);
Il échoue avec le message d'erreur:
type 'MyNamespace.Child' avec le nom du contrat de données 'Enfant: http://schemas.datacontract.org/2004/07/MyNamespace' n'est pas prévu. Ajoutez tous les types non connus statiquement à la liste des types connus - par exemple, en utilisant l'attribut KnownTypeAttribute ou par en les ajoutant à la liste des types connus passés à DataContractSerializer.
Est-ce que quelqu'un sait comment sérialiser correctement la classe enfant?
Vous avez raison. Fonctionne de la même manière avec la sérialisation XML. –
Malheureusement, la classe de base se trouve dans un espace de noms distinct de la classe enfant. Et l'espace de noms de classe de base n'a aucune connaissance de l'espace de noms de classe enfant. –
Ensuite, il n'y a vraiment aucun moyen de le faire. – Bryant