gpt4 book ai didi

c# - C# 中的 "new"关键字只是为了使警告消失,不是吗?

转载 作者:太空狗 更新时间:2023-10-29 17:46:58 25 4
gpt4 key购买 nike

我无意中看到了这个页面 new keyword in method signature我发现这篇文章中给出的一些例子并不准确(例如第二个)

如果您不说“覆盖”,我认为"new"已经存在。唯一的区别是,如果您不写“override”(对于虚拟方法)或“new”,您将得到一条绿线(警告?)。您仍然可以选择不写"new",它仍然有效。我这样说对吗,还是我漏掉了一些重要的东西?

最佳答案

是的,除了隐藏该警告外,它什么都不做。

警告只是为了确保您知道自己在做什么,因为隐藏很少是个好主意。但是,如果基类引入了一个新的虚方法,而派生类碰巧有一个匹配但独立的方法,现在意外地覆盖了继承的方法,那么将 override 设置为默认值会导致版本控制问题。

关于c# - C# 中的 "new"关键字只是为了使警告消失,不是吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8502661/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com