我刚才读到,当你在一个派生类中定义一个方法,它与基类中描述的方法具有相同的名称时,你应该得到错误:“请添加'覆盖'或'新'关键字”。但是,尽管我试图通过下面的代码来让它这样做,但一切似乎都没有问题。覆盖没有“覆盖”/“新”不会导致错误
我想知道为什么?我使用Visual Studio 2010.
class Base
{
public void Method()
{
Console.WriteLine("Base class");
}
}
class Child : Base
{
public void Method()
{
Console.WriteLine("Child class");
}
}
static void Main(string[] args)
{
Base myBase = new Base();
Child myChild = new Child();
myBase.Method();
myChild.Method();
}
我得到的输出如下。
Base class
Child class
谢谢你,所以,据我了解,“新”关键字总是可选的? –
@AleseseChepovoi,好吧,它不是真正的可选项,因为有警告......警告应该永远不会被忽略;他们应该是固定的或者被压制的(如果你知道警告不适用于你的情况)。在这种情况下,修复很容易... –