Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/08/2010, 15:37
Annihilus
 
Fecha de Ingreso: febrero-2010
Mensajes: 4
Antigüedad: 14 años, 9 meses
Puntos: 0
Conocer el Tipo de un dato para poder hacer un cast

Buenas, me he encontrado con una dificultad que no doy superado, a ver si alguien con conocimientos me puede ayudar.

En una función me están mandando un dato con un tipo ClaseBase, pero este dato no es realmente de ClaseBase si no que el tipo subyacente puede ser la claseA, claseB, etc..., estas clases heredan todas de ClaseBase.

Lo primero que necesito es recuperar el tipo de dato que es, no sé si usando GetType() o usando typeof (objeto).

Lo segundo es conociendo el tipo poder hacer un cast a otro dato que tengo, es decir, si supongamos que GetType() me devuelve un string, llamemoslo tipoDato, que vale "claseA", ¿cómo puedo hacer un cast sabiendo sólo como se llama el tipo?.

El problema viene que de ClaseBase derivan como 500 clases. así que hacer un switch en el que veo lo que vale tipoDato y según lo que valga hago un cast con la clase correspondiente me parece demencial. esperaba que se pudiera hacer de forma más sencilla usando ese valor de tipoDato para poder llegar a lanzar un cast directamente sin hacer comparaciones.

Bueno no sé si se puede, espero vuestras respuestas. Un saludo y gracias.