「b[0]= new Child2();」行の理由を教えてください。コンパイル時ではなく実行時に失敗します。構文をチェックしないでください。ここで実行しただけです
class Base
{}
class Child1 : Base
{}
class Child2 : Base
{}
class Test
{
void Main()
{
Base [] b= new Child1[10];
b[0]= new Child2(); <-- Fails at runtime but not at compile time WHY?
}
}