1

我在 Visual Studio 中使用自定义工具“ProtoBufTool”从 .proto 文件生成 C# 类文件。但是,生成的输出类没有 parseFrom 和 mergeFrom 方法。我是否错过了在 proto 文件或工具设置中提供某些选项或某些内容?我没有在网上找到任何可以给我任何线索来解决这个问题的东西。此外,除了消息之外,我的 proto 文件在文件开头只有选项 *optimize_for = SPEED;*。我对 proto 文件没有任何构建操作。

对此的任何帮助将不胜感激。

4

1 回答 1

0

从工具的名称来看,听起来您正在使用 protobuf-net。这只是 c# / .net 的几个 protobuf 实现之一,但它不是直接端口并且具有不同的 API - 相反,它首先尝试成为惯用的 .net ,然后是序列化程序(例如,您甚至不需要.proto - 你可以使用常规的 POCO 类型)。例如,典型用法可能是:

var obj = Serializer.Deserialize<YourType>(inputStream);

如果您想要一个与 java 等实现具有相同 API 的实现,那么protobuf-csharp-port可能更符合您的喜好。这是 java API 的一个更直接的端口。

于 2012-08-14T18:53:59.587 回答