¿Cómo pasar una Lista <Niño> a un método con el parámetro Lista <Parente>?
He estado lejos de la herencia por un tiempo y necesito un poco de ayuda.
Tengo una clase base abstractaChief
. Hay dos clases heredadas.Ship
yVehicle
, que comparten varias propiedades a través deChief
.
Tengo un método que usa esas propiedades comunes:
public static void AssignRandomProperties(PSetList routeSettings, List<Chief> theChiefs)
pero cuando trato de pasar un
List<Ship>
o un
List<Vehicle>
Me dicen que no se pueden convertir. Aquí hay una llamada de método de muestra:
ChiefRouteRandomizer.AssignRandomProperties(s.Route, theVehicles);
Estaba suponiendo, por supuesto, que elList<Vehicle>
sería tratado como unList<Chief>
cuando se pasa como argumento paraAssignRandomProperties
, pero aparentemente no. ¿La lista necesita convertirse aList<Chief>
¿primero? ¿Si es así, cómo?