• Viernes 1 de Noviembre de 2024, 17:39

Autor Tema:  C# Conversion A Tipos Desconocidos  (Leído 1386 veces)

cemo

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
C# Conversion A Tipos Desconocidos
« en: Jueves 5 de Junio de 2008, 10:45 »
0
Buenas, de primero un saludo ya que este es mi primer mensage es este foro.

Mi problema es el siguiente.
Recivo unas clases de un servicio web que estan enumeradas en una enumeracion llamada EnumEntities.

La cuestion es...
Como consigo hacer un boxing de un object a una de estas clases?

Lo que quiero hacer es mas o menos esto
Object ClaseDestino;
ClaseDestino = ClaseDestino.Convert("NombreClase");//Obtenido de EnumEntities
ClaseDestino = (ClaseOrigen.GetType())ClaseOrigen;//Me dice que falta un ;

Bueno la verdad es que me he explicado mal...

Tengo un menu donde pregunto sobre que entidad se va ha hacer la consulta, y muesto un listado de entidades que me muestra EnumEntities:

1. Clientes
2. Facturas
3. Etc...

Elija una entidad:


Y que pueden ser diferentes cada ver que arranque el sistema. El usuario elige una por el numero. El problema es que no puedo hacer un boxing de una clase de la cual no se si va ha existir o no, y de la cual no puedo anticipar los nombres.

El usuario elije la opcion 1.

Entonces yo se que la entidad es Clientes. Pero como el listado ha sido generado en tiempo de ejecución, como hago el boxing?

cemo

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: C# Conversion A Tipos Desconocidos
« Respuesta #1 en: Jueves 5 de Junio de 2008, 12:36 »
0
Una ayudita please!

E.Baley

  • Miembro activo
  • **
  • Mensajes: 44
    • Ver Perfil
Re: C# Conversion A Tipos Desconocidos
« Respuesta #2 en: Jueves 5 de Junio de 2008, 15:18 »
0
Deberás crear las instancias de las clases previamente a que el usuario pueda elegir la entidad, por ejemplo, al inicio de la aplicación.
Luego puedes guardar esas instancias en un lugar público y conocido, para poder acceder a ellas (un "gestor de objetos").

Otra opción es implementar un patrón singleton en esas clases, y así, cada vez que el usuario elija una opción, vuelves a crear la clase correspondiente. De esta forma es un pelín más complejo, pero no es necesario guardar las instancias en ningún lugar conocido.

cemo

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: C# Conversion A Tipos Desconocidos
« Respuesta #3 en: Jueves 5 de Junio de 2008, 18:53 »
0
Bueno. La solucion:

string sType = "Clase desconocina";
object o1 = "123";
object o2 = Convert.ChangeType(o1, Type.GetType(sType));