Il m'arrive souvent de devoir sérialiser un objet, que ce soit pour la journalisation ou le débogage. Il s'agit d'une sérialisation à sens unique - je n'ai pas besoin de le récupérer plus tard, j'ai juste besoin de transformer un objet en une chaîne pour l'écrire quelque part.
Oui, oui c'est pourquoi vous devez toujours remplacer l'attribut ToString
méthode. Je le sais. Mais j'ai souvent affaire à des objets que je n'ai pas écrits et que je ne peux pas modifier. De plus, je ne veux pas avoir à écrire et mettre à jour une méthode ToString pour chaque classe que j'écris.
La sérialisation XML offre une solution apparemment parfaite : il suffit d'aplatir cet objet en XML. Mais il y a tellement de limitations, en particulier que vous ne pouvez pas sérialiser IDictionary, et vous devez avoir un constructeur sans paramètre. Je peux les contourner dans mes classes, mais -- encore une fois -- je travaille souvent avec les classes d'autres personnes.
Alors, quelle est la solution pour obtenir une représentation complète d'un objet sous forme de chaîne ? Y a-t-il quelque chose de simple qui m'échappe ?