1

我有一个我想弃用的枚举类型的字段。没有客户端使用此字段或其枚举类型。我想保留这个枚举中的所有值,以便它不能被重用。

message Example {
    ...
    enum Foo {
        BAR = 0;
        BAZ = 1;
    }
    Foo foo = 42;
}

我的第一个想法是尝试保留以下值0 to max

message Example {
    ...
    enum Foo {
        reserved "BAR", "BAZ";
        reserved 0 to max;
    }
    reserved "foo";
    reserved 42;
}

但是,我收到一条错误消息,指出Foo必须至少包含一个值。有没有办法像这样弃用整个枚举以确保它不被重用?

4

1 回答 1

0

尽管您不能保留整个枚举(据我所知,因为需要零值),但您可以保留其中的任何内容以及每次使用它。

message Example {
    ...
    enum Foo {
        reserved "BAR", "BAZ";
        reserved 1 to max;
        RESERVED = 0;
    }
    reserved "foo";
    reserved 42;
}
于 2020-08-05T15:19:48.880 回答