当我编译下面的代码,我只看到在运行时它说 错误“无法投型‘Foo1’的对象键入‘foo2的’”为什么只有在将基类对象转换为dervied类对象时出现运行时错误?
为什么编译器不会显示在此错误编译时间?
public void Start()
{
Foo1 objFoo1 = new Foo1();
Foo2 objFoo2 = (Foo2)objFoo1;
//objFoo1.FooA = 10;
//Console.WriteLine(objFoo2.FooA);
}
public class Foo1 {}
public class Foo2 : Foo1 {}
对不起。我无法正确格式化代码块。为什么有猜测? – csharpbaby 2009-10-09 04:42:06
好的。我使用代码格式化程序。现在代码看起来很好:) – csharpbaby 2009-10-09 04:43:07
对不起,在阅读你的第一条评论之后,试图帮助格式化代码。 – David 2009-10-09 04:44:19