當我編譯下面的代碼,我只看到在運行時它說 錯誤「無法投型‘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