Estoy tratando de devolver una lista de clases derivadas (RedThingSets y BlueThingSets) como una lista de su clase base (ThingSets) para que pueda tener una función más genérica devolviéndolas (este es solo un ejemplo para ilustrar).
(Este no es el código real)
public abstract class ThingSet { public List<Thing> Things; } public class RedThingSet : ThingSet {} public class BlueThingSet : ThingSet {} public void MahClass() { public List<RedThingSet> RedThingsList = new List<RedThingSet>(); public List<BlueThingSet> BlueThingsList = new List<BlueThingSet>(); public List<ThingSet> GetThingSet( bool giveMeTheBlue ) { if ( giveMeTheBlue ) { return BlueThingsList; } else { return RedThingsList; } } }es posible?
Intenté usar algo as : return BlueThingsList as List<ThingSet>;
Y he intentado emitirlo directamente así: return (List<ThingSet>) BlueThingsList;
Pero tampoco están trabajando,
¿Me estoy acercando a esto completamente mal?