问一个类型转换的简单问题,高手请进
using System;
class A
{
public void F() { Console.WriteLine("A.F"); }
public virtual void G() { Console.WriteLine("A.G"); }
}
class B: A
{
new public void F() { Console.WriteLine("B.F"); }
public override void G() { Console.WriteLine("B.G"); }
}
class Test
{
static void Main() {
B b = new B();
A a=new A();
b=(B)a; //此句会发生“指定的转换无效”的错误,请问高手为什么?
}
}