标签: protogen

protobuf-net - 从.proto生成的类 - 重复字段应该是只读而没有setter吗?

我对此完全感到困惑.我环顾四周,似乎找不到直接的答案.我有一个.proto文件,我的项目(全部是java)用来创建一些消息.

有一个重复的信息字段.这是我们创建的类型.当我使用protogen生成C#类时,此字段以只读方式显示,并且没有setter.

没有这个参数我无法完全构建消息.所以我的问题是.是否应该像这样生成重复字段,我应该以其他方式访问此只读列表?或者这是生成器中的错误?

生成的代码:

private readonly global::System.Collections.Generic.List<StringMapEntry> _factoryProperty = new global::System.Collections.Generic.List<StringMapEntry>();
[global::ProtoBuf.ProtoMember(2, Name=@"factoryProperty", DataFormat = global::ProtoBuf.DataFormat.Default)]
public global::System.Collections.Generic.List<StringMapEntry> factoryProperty
{
  get { return _factoryProperty; }
}
Run Code Online (Sandbox Code Playgroud)

Proto文件部分:

repeated StringMapEntry factoryProperty = 2;
Run Code Online (Sandbox Code Playgroud)

我可能只是遗漏了一些非常明显的东西.谢谢你的帮助!

c# setter readonly protobuf-net protogen

9
推荐指数
1
解决办法
3239
查看次数

使用protobuf-net生成器制作PCL友好的C#类

我想在Xamarin应用程序中使用Protocol Buffers,因此我需要使用PCL项目来存放我的非平台特定代码.

我使用protobuf-net protogen将.proto文件转换为.cs文件,但它与PCL项目不兼容.使其兼容就像从文件中删除每个global :: System.Serializable属性一样简单,但我想知道是否有办法让protogen不将这些属性放在生成的文件中.

如果我要a)找到一种自动构建.proto类的方法,b)定期更改一些非常多的消息类型,或者c)将项目移交给不理解的人,这将非常有用.问题.

c# protobuf-net portable-class-library protogen xamarin

4
推荐指数
1
解决办法
529
查看次数

在gRPC中使用ProtoBuf-net

我正在尝试使用gRPC在工作中构建PoC。此处的google文档为我们提供了一个示例应用程序。我想知道protobuf-net(尤其是protogen)是否有能力理解执行gRPC调用所需的服务定义和类?还是正在处理某些问题?如果我将google的protoc用于客户端和服务器代码生成(涉及服务定义和RPC调用),并将protobuf-net用于我的业务对象,是否可以使用?

protocol-buffers protobuf-net protogen

3
推荐指数
2
解决办法
613
查看次数