Estoy programando una clase abstracta llamada GeneralesAdmon la cual sirve para manejar tablas de una base de datos (Siendo otras clases DTO la representantes de dichas tablas), esta clase contiene metodos y propiedades que utilizaran heredandose a clases mas particulares como ClienteAdmon.
Mi problema es el siguiente.
Dentro de la clase GeneralesAdmon hay un metodo que devuelve una lista de GeneralesDTO (Una clase general para representar contenido de tablas) y en teoria deberia devolver una lista de GeneralesDTO o cualquier clase que derive de ella.
Seria algo asi
Código CSharp:
Ver original
public abstract class GeneralesAdmon { protected List<GeneralesDTO> lista() { //Recoleccion de datos } }
Mi problema es que no quiero utilizar la clase general de todos los DTO, sino pasar como parametro una clase o instancia de la clase (o lo que se necesite) de la lista que voy a ocupar... por ejemplo algo asi...
Código CSharp:
Ver original
protected List<Clase General O Derivada De Esta> lista(Instancia de la clase necesaria) { //Recoleccion de datos }
No se que tenga que hacer aqui, si esta bien devolver la clase General y hay alguna manera de mezclarla con una clase derivada
Código CSharp:
Ver original
List<ClienteDTO>=lista();//Combinar la lista de clases generales con la clase derivada
O devolver una lista de cualquier tipo a partir de un parametro en el metodo.
Disculpen sino he sido claro, aqui no se que hacer realmente y gracias por su ayuda y paciencia. Saludos.