2010-10-25 3 views
0

J'ai une classe et sérialisé en XML sur le disque dur. Puis j'ajoute un nouveau paramètre dans cette classe. Puis-je encore être désérialisé de l'ancien xml dans la nouvelle structure de classe par dé-sérialiseur par défaut?C# Problème de désérialisation dans la nouvelle structure de classe

Toute autre chose pourrait affecter la sérialisation? Renommer les paramètres? Supprimer les paramètres?

+1

Presque Dupliquer de ceci: http://stackoverflow.com/questions/618306/best-practice-to-serialize-and-deserialize-net-objects-across-versions – Aamir

+0

Je suis d'accord, il y a assez de pointeurs dans les différents réponses à cette question pour y répondre. – slugster

+0

Je vous suggère d'essayer quelques petites choses. Le désérialiseur XML autorise certaines modifications aux classes et, avec les attributs disponibles, vous pouvez mapper les propriétés à un élément XML différent. –

Répondre

2

Je supposerai par les paramètres que vous faites référence à des variables d'instance. XMLSerializer va juste remettre les données qu'il peut trouver. Même si vous avez supprimé (ou renommé) une variable, elle sera toujours heureuse.

Si toutefois vous dites que vous avez ajouté un paramètre au constructeur, sachez que XMLSerializer requiert un constructeur sans paramètre.