当我调用下面的代码行时,它从 ClassB 执行 Get()。
该对象被创建为ClassC
,它作为带有new
关键字的方法。理想情况下,它应该Get()
从ClassC
.
Main()
{
ClassA obj = new ClassC();
lbl.Text = obj.Get();
}
public class ClassA
{
public virtual string Get()
{
return "from A";
}
}
public class ClassB : ClassA
{
public override string Get()
{
return "from B";
}
}
public class ClassC : ClassB
{
public new string Get()
{
return "from C";
}
}
谁能帮我找出原因。