Se ho due classi, A
e B
dove B deriva da A:informazioni sulla Casted C Tipi # riferimento nella memoria
class A {}
class B : A { }
posso upcast tranquillamente un'istanza di B
-A
.
B b = new B();
A a = b;
Ora, posso capire come il runtime può determinare che tipo sottostante è B, come la pagina 132 del ECMA-335 (Common Language Infrastructure (CLI) partizioni da I a VI) afferma
oggetti di tipi istanziati devono fornire informazioni sufficienti a recuperare in fase di esecuzione il loro tipo esatto (compresi i tipi e il numero di loro argomenti generici). [Rationale: Questo è necessario per correttamente implementare colata e istanza di test, così come nella riflessione capacità
Così, come fa il runtime sa che, sebbene il tipo sottostante è B
È infatti memorizzato in un A
. So per certo che non vedrò i metodi disponibili su B
, ma se il tipo sottostante è B
, come memorizza il tipo di posizione di archiviazione A
?
Ha senso?
Cheers Marc, è spiegato. –