class A
{
public int x = 23;
public virtual string getme()
{
return "klasa A";
}
}
class B : A
{
new public int x = 45;
public override string getme()
{
return "klasa B";
}
public int getBaseX()
{
return base.x;
}
}
Wywołuje
1:
b.x = 107;
a = (A)b;
richTextBox1.AppendText("\na=" + a.x.ToString() + " me = " + a.getme());
2:
b.x = 107;
a = (B)b;
richTextBox1.AppendText("\na=" + a.x.ToString() + " me = " + a.getme());
Dlaczego w obu przypadkach wypisuje "a=23 me = klasa B"? Nie rozumiem rzutowania. Ktoś wyjaśni?