当前位置: 首页 > 知识库问答 >
问题:

Google protobuf 3:不推荐使用字段,但无法删除依赖项?

鞠嘉誉
2023-03-14

import "protoB.proto";

message ProtoA {
  string assignmentStatus = 1;
  protoB proto_b = 2 [deprecated = true];
}

我认为在这种情况下,我应该能够删除import语句,对吗?但当我这样做时,编译器抱怨没有导入依赖项。

这是怎么回事?

共有1个答案

董翰墨
2023-03-14

将某物标记为已弃用只是。。。将其标记为已弃用;例如,在C#中,将声明proto\u b成员,但将其标记为[过时]。由于它仍然存在,它需要知道如何描述它。例如,数据仍然可以在应用程序中访问。

如果要删除:删除:

message ProtoA {
  string assignmentStatus = 1;
  // field 2 *was* protoB proto_b = 2, now removed
}

(留下评论对于避免人们意外地重复使用字段号很重要,这可能会导致现有数据出现问题)。

 类似资料:
  • 问题内容: 更新到后,我的项目中会显示很多警告。 ’++’已过时:它将在 Swift 3中* 删除 * 有解决此警告的想法吗?和将来会被弃用的任何原因是什么? 问题答案: 从Swift 2.2开始,您应该使用或代替。 在查看了Swift的发展之后,有一些删除这些运算符的原因: 这些运算符增加了学习Swift作为第一门编程语言的负担-或在其他情况下您还不了解其他语言的运算符。 它们的表达优势极小-x

  • 问题内容: Swift 3将弃用++ 现在可以将变量++编写为 我该如何改写。 请记住和语法之间的区别 问题答案: 将其重写为: …正像警告消息所暗示的那样。当然,这现在需要单独一行(这是此更改的唯一坏处)。重要的是您将那条线放在 哪里 。 所以举个例子 现在变成 但另一方面 现在变成 专家的额外建议: 在极少数情况下,即您返回,它在较大范围内, 然后 递增它—您可以解决以下问题:

  • 我在google上搜索onactivityresult()是不推荐的。但我的问题没有解决。下面是片段的代码

  • 我使用hystrix api版本1.5.4。我看到的方法已被弃用。替代方法是什么?

  • 问题内容: 我已经看到了许多在API上使用注释以将其标记为“需要尽快替换”的示例。 但是,在几乎所有这些情况下,代码开发人员不仅继续使用已弃用的API,而且还抑制了弃用警告。 似乎API开发人员的最佳意图最终是创建更多与已实现的业务逻辑无关的代码- 如果不赞成使用API​​,但在抑制相关警告的情况下继续使用它,则似乎充其量只是代码的降级,并且在IMHO最差的情况下替换不推荐使用的库时,可能会导致应

  • 本文向大家介绍RequireJS 依赖关系的实例(推荐),包括了RequireJS 依赖关系的实例(推荐)的使用技巧和注意事项,需要的朋友参考一下 现在看看RequireJS带来的整洁的特点: 下面有个html页面: 最有一个script语句引入了require.js文件,并且在data-main中指定了另一个js文件:config.js,我定义如下: require.config中配置了引入的第