【发布时间】:2012-12-19 15:23:22
【问题描述】:
通常,我需要序列化一个对象,用于记录或调试。这是一种单向序列化——我以后不需要把它弄回来,我只需要把一个对象变成一个字符串写到某个地方。
是的,是的——这就是为什么你应该总是覆盖ToString 方法。我知道这个。但我经常处理我没有写过也不能改变的对象。此外,我不想为我编写的每个类都编写和更新 ToString 方法。
XML 序列化提供了一个看似完美的解决方案——只需将该对象扁平化为 XML。但是有很多限制,特别是你不能序列化 IDictionary,你必须有一个无参数的构造函数。我可以在我的课程中解决这些问题,但是 - 再说一遍 - 我经常与其他人的课程一起工作。
那么,获得对象的综合字符串表示的解决方案是什么?我缺少什么简单的东西吗?
【问题讨论】:
-
也许一些反射来迭代并将成员呈现为字符串?但是,这很慢,因此仅适用于性能不再重要的错误场景......
标签: c# serialization