这可能是一个微小的细节,但它涉及到编译器在你执行如下操作时发出的警告:
class A
{
public virtual void F() { }
}
class B : A
{
public void F() { }
}
然后你会得到以下警告:
'EomApp1.B.F()' 隐藏了继承成员 'EomApp1.A.F()'
要使当前成员重写该实现,请添加 override 关键字。否则请使用 new 关键字。
问题:这个警告实际上在警告我如果我不采取任何行动会发生什么? 如果我添加 'new' 关键字和不添加关键字,我的程序会有不同的功能吗?
(注意:我知道我可以轻松测试这个,但我觉得在这里提问也是值得的)