猿问

protobuf-net 什么时候需要使用 ProtoEnum 属性?

protobuf -net包含一个[ProtoEnum]可用于修饰枚举成员的属性。何时以及如何使用它?

在正常的使用场景中,enum 成员序列化似乎工作得很好(只要 enum 本身有一个[ProtoContract]装饰它)。


交互式爱情
浏览 114回答 1
1回答

慕尼黑8549860

您唯一需要的时间是:当您使用 .proto => C# 或 C# => .proto,并且您希望 .proto 中的名称与实际enum声明不同时当你出于某种原因想要将线路上的数字映射到你的类型模型中的enum数字时,即线路上的值(对于相同数据的其他用户)以某种方式对你的应用程序12更有用20我通常强烈反对第二种选择;它使事情变得过于复杂,这意味着它需要在两个方向上应用一些额外的逻辑。现在“proto3”改变了无法识别的值的预期行为,尤其如此;在“proto2”中,这是为了指示错误,但在“proto3”中,你只是为了获取值。如果您正在应用地图,则无法执行此操作。
随时随地看视频慕课网APP
我要回答