是否可以在不使用 New 关键字的情况下执行方法隐藏?

Is it possible to perform Method Hiding without using New keyword?

今天我去面试了

Is it possible to perform Method Hiding without using New keyword?

据我所知,这是不可能的。所以我说了。

是否有任何(严重的)棘手/替代方法来执行方法隐藏?我曾经想过Sealed....

也像 Explicit Interface,有没有那种东西...(不确定)

已编辑

关于这个主题的最后一个问题,就像我们可以为显式接口做的那样

 Interfacename.Method name

我们可以为派生的 class 做类似的事情吗?

Class Derived:Base
{ 
  public void Base.SomeMethod(){}
}

绝对 - 如果您不指定 任何东西,您仍然会获得与 new 修饰符相同的效果,但也会收到警告。

当然还有明确的接口实现。

在这两种情况下,只需将目标转换为不同的类型 "unhides" 方法:

((BaseClass) x).SomeMethod();
((IFoo) x).SomeMethod();

密封 class 与方法隐藏无关 - 或者更确切地说,它通过确保 来防止任何派生的 class 隐藏方法=22=] 没有导出 classes.