Зачастую мне нужно сериализовать объект, как для ведения журнала, так и для отладки. Это односторонняя сериализация - мне не нужно ее возвращать позже, мне просто нужно превратить объект в строку, чтобы записать его где-нибудь.
Да, да - поэтому вы всегда должны переопределять метод ToString
. Я знаю это. Но я часто имею дело с объектами, которые я не писал и не могу изменить. Кроме того, я не хочу писать и обновлять метод ToString для каждого класса, который я пишу.
Сериализация XML предлагает, по-видимому, идеальное решение - просто сгладить этот объект в XML. Но существует так много ограничений, в частности, что вы не можете сериализовать IDictionary, и у вас должен быть конструктор без параметров. Я могу обойти их в своих классах, но - снова - я часто работаю с другими классами людей.
Итак, что такое решение для получения полного строкового представления объекта? Есть что-то простое, что мне не хватает?