Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/05/2011, 02:49
Avatar de rockbass2560
rockbass2560
 
Fecha de Ingreso: mayo-2011
Mensajes: 31
Antigüedad: 13 años, 6 meses
Puntos: 1
Como poder pasar cualquier clase a un metodo

Hola y gracias por su atencion.

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
  1. public abstract class GeneralesAdmon
  2. {
  3.     protected List<GeneralesDTO> lista()
  4.     { //Recoleccion de datos }
  5. }

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
  1. protected List<Clase General O Derivada De Esta> lista(Instancia de la clase necesaria)
  2. {
  3.    //Recoleccion de datos
  4. }

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
  1. 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.