是否需要使用protobuf-net protogen将现有的原型包装在一个伞形课程中。
类似于Jon Skeet的proto-csharp实现: protogen -namespace = companyx.employee -umbrella_classname = HREmployees -output_directory =。 employee.proto
感谢。
问题的改进:基本上,如果在proto中将包定义为com.testcompany.protos.employee
我们希望在生成过程中将对象放在子命名空间中。例如: com.testcompany.protos.employee.testemployee
然后将消息/对象移动到com.testcompany.protos.employee.testemployee下面。当然,在重新序列化期间,对象应该返回到原始文件:com.testcompany.protos.employee。
这样做的原因是我们在不同的protos之间有许多冲突的命名空间对象,通过提供额外的深度我们可以避免冲突。
可能还有另一种方法可以做到这一点,但这是我们在使用protobuf-csharp时解决它的方法。
感谢。
答案 0 :(得分:1)
最终,charp.xslt是可编辑的。我很高兴考虑在这里添加一些东西,但是需要明确说明你的目标 - 而“伞类”对我来说并不是很重要。
此外,由于protobuf-net 库完全基于运行时的类(codegen相当无趣),你也可以手动添加你需要的任何额外的类(或使用部分类来扩展生成的)。
有很多选择。如果你想在代码中添加一些东西,那么你需要明确你的意思。