是否有可能对异构对象列表进行(反)序列化?
发布于 2011-05-22 17:29:36
对于不包含类型元数据的序列化格式,List<object>提出了许多挑战……但和往常一样,也有一些技巧、陷阱和变通方法。
如果您的意思是在最外层,这里有几个选项围绕着使用不同的标记(/field-number)来指示消息类型。这在API (例如,套接字会话)上非常有用,因为在这种API中,随时可能会出现不同的消息。例如:How can I send multiple types of objects across Protobuf?
在消息内部有些棘手;如果候选类型的列表很小,那么一个合理的解决方法类似于这里所示的:Protobuf attributes with a hierarchy of generic classes,即将每个预期的类型视为专门化。
如果无法预测类型,则v2包含另一种解决方法,但包含比正常更多的元数据;请参见http://marcgravell.blogspot.com/2011/03/objects-graphs-and-all-that-jazz.html
https://stackoverflow.com/questions/6087001
复制相似问题