次のような基本クラスと派生クラスがあります
public class animal
{
public string name { get; set; }
}
public class dog : animal
{
public int age { get; set; }
public string type { get; set; }
}
用途:
animal a = new animal();
dog d = new dog();
a = d; //compiled
d = a; //Error:Cannot implicitly convert type 'animal' to 'dog'.
d = (dog)a; // compiled
派生クラスを base に割り当てることができるが、逆の明示的な変換を行う必要がある内部的にはどうなりますか? 基本クラスと派生クラスの両方に同じメンバーが含まれていても、同じ結果が見つかりました。