google 协议缓冲区中的未知扩展

Unknown extensions in google protocol buffers

如何访问 google 协议缓冲区中的未知扩展?

可以使用 Reflections 通过 FindKnownExtensionByName 访问已知扩展。

同样,UnknownFieldSet() 给出消息中的未知字段。

那么我们有什么方法可以访问 google 协议缓冲区中的未知扩展。

未知扩展名也会出现在 UnknownFieldSet 中。

扩展名的编码与常规字段完全相同——扩展名就是字段号。因此,如果解析器在网络上看到一个既未定义为字段也未定义为扩展的字段,它实际上甚至不知道它是哪一个。所以,一切都进入 UnknownFieldSet。