我有一个问题,为什么在这段代码中,One() 方法是从 B 类执行的,而 Two() 方法是从 A 类执行的?我知道那是在做铸造,但我不明白它的工作方式。顺便说一句,任何具有这种技巧的好的链接或书籍都将不胜感激。比你。
class Program
{
static void Main(string[] args)
{
B b = new B();
A a = (A)b;
a.One();
a.Two();
}
}
public class A
{
public virtual void One()
{
Console.WriteLine("A One");
}
public void Two()
{
Console.WriteLine("A Two");
}
}
public class B : A
{
public override void One()
{
Console.WriteLine("B One");
}
public new void Two()
{
Console.WriteLine("B Two");
}
}