Une des dernières parties de cette série d’article concerne la sérialisation correcte des graphes d’objets, et surtout de leurs références. En effet, le tableau déclaré de la manière suivante :
Après avoir refactorisé le code du Serializer, j’ai choisi d’implémenter la sérialisation des implémentations d’interfaces. En effet, si un objet possède des propriétés de type interface (IList par exemple), ce n'est pas pour autant qu'il ne doit pas pouvoir être sérialisable.
Après avoir implémenté le support de la sérialisation des tableaux, le code est devenu moins lisible. En effet, toute la logique pour le choix du type d’objet à sérialiser se faisait dans une seule méthode, bardée de ifs. Le but de cette implémentation étant de m’amuser, je ne pouvais laisser cette situation perdurer.
Cette semaine, l’itération suivante de notre serializer supporte les tableaux d’objets.
Pour la suite de cette série, je vais vous présenter le fonctionnement de la 1ere itération du serializer. Cette version supporte les types de base, nullables ou non, ainsi que les graphes d’objets simples (pas de cycles, pas de tableaux).