如何修改生成的C#Protobuf枚举

时间:2016-06-09 21:56:02

标签: c# enums protocol-buffers protobuf-net

我在Windows上使用protoc 3.0.0 beta 3从.proto文件生成C#代码。从beta 2到beta 3的变化改变了我的枚举值(更糟)。在proto文件中有一个如此定义的枚举:

enum AnEnum {
    ABC = 0;
    WORD = 1;
    DEF = 2;
}

现在最终生成的代码如下:

public enum AnEnum {
    [pbr::OriginalName("ABC")] Abc = 0,
    [pbr::OriginalName("WORD")] Word = 1,
    [pbr::OriginalName("DEF")] Def = 2,
}

我对Word很好,但AbcDef是错误的,因为它们是缩写。有没有办法覆盖特定的枚举案例(甚至特定枚举的所有枚举案例)来传递原始值?

否则看起来我必须用我自己的新枚举来包装生成的枚举,但我宁愿不复制定义。

0 个答案:

没有答案