C'è qualcosa che mi sfugge riguardo all'ereditarietà tra due classi. Poniamo questo esempio:
Class Persona
Public Nome as string
End Class
Class Dipendente
Inherits Persona
Public Mansione as string
End Class
Posso fare un'operazione di questo tipo:
dim d as new dipendente
d.nome="pippo"
d.mansione="impiegato"
dim p as persona=d
Ma ricevo un errore di casting se faccio il contrario, ovvero:
dim p as new persona
p.nome="pippo"
dim d as dipendente=p
d.mansione="impiegato"
Perchè? Se ho una collection di oggetti di tipo Persona, alcuni dei quali devo aggiungerli ad una seconda collection di oggetti di tipo dipendente, perchè non posso aggiungerli direttamente con un directcast?