复杂序列化到字符串 - 使用继承?

时间:2014-09-14 23:34:08

标签: c# inheritance serialization

我正在编写一个C#类,它将特定类型序列化为由行组成的大字符串。 我也想创建一个特殊的"序列化程序,对于某些实例,以不同方式写入部分行。例如,我希望特殊的序列化器仅以与常规序列化器不同的方式序列化第3,4和7行。

我想到了两种方法,我可以使用继承自我的序列化程序的特殊序列化程序,但两者似乎都不是很优雅:

  1. 我的序列化程序将是一个构建器。首先,我将为它提供我想要序列化的对象,然后序列化程序将在受保护的字段中保存一组行。当我调用build()方法时,它会将行集合合并为一个字符串。特殊的序列化程序可以在调用基本构建()之前覆盖build()并操纵行集合。

  2. 我的序列化程序将有一个序列化每一行的方法(可能有几十个)和一个调用所有行序列化方法并合并其结果的方法。特殊的序列化程序将覆盖序列化相关行的方法。

  3. 首选哪种方式?有没有更优雅的方式我没有想到?

0 个答案:

没有答案