协议缓冲区如何处理类型版本控制?
例如,当我需要随时间更改类型定义时?喜欢添加和删除字段.
我有一个C#类,它有很多变量.我们称之为"QuestionItem".我有一个用户修改的对象列表,然后通过JSON序列化(使用Newtonsoft JSON库)将其发送到服务器.为此,我将已经在服务器中的对象反序列化为a List<QuestionItem>,然后将此新修改的对象添加到列表中,然后将其序列化回服务器.
为了向用户显示此列表QuestionItems,我将JSON反序列化为我的对象,并将其显示在某处.
现在,问题是 - 我想改变它QuestionItem并为它添加一些变量.
但是我无法将其发送NewQuestionItem到服务器,因为服务器中的项目是类型的OldQuestionItem.
如何合并这两种类型,或将旧类型转换为新类型,而具有旧版本的用户仍然可以使用该应用程序?