gpt4 book ai didi

c# - C# 中的新运算符和虚拟运算符

转载 作者:太空宇宙 更新时间:2023-11-03 17:19:23 25 4
gpt4 key购买 nike

在层次结构中是否可以在某些时候使用 new 关键字来覆盖方法中的返回类型?

我可以使用 virtual newnew virtual 来覆盖返回类型吗?

我还需要考虑从那时起继承的类。他们能否在使用 new 创建基础的地方覆盖此方法?

最佳答案

可以这样做,但真正的问题是您是否应该这样做。

问题是你会得到非常意外的行为,这取决于你的类的使用方式。如果您从基类的实例调用您的类,将调用原始的非"new"方法,这可能是意外的。

通常,我会避免使用 new 关键字来覆盖基类方法,除非有非常明确的理由这样做——如果您的方法要返回一个新类型,请将其声明为一个带有不同的名称或签名而不是隐藏基类方法 - 这将使您的层次结构更有用。

关于c# - C# 中的新运算符和虚拟运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1473024/

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