Hacer un casting a partir del type

18/05/2007 - 17:46 por ANT1 | Informe spam
Hola tengo en un string el nombre de la clase de un objeto y necesito
hacer un casting a partir de este.

¿Como se puede hacer?

Gracias, un saludo.

Preguntas similare

Leer las respuestas

#1 Diego Jancic
18/05/2007 - 18:56 | Informe spam
Hola,
Voy a responder con una pregunta... cual es el objetivo de hacerlo si
de todas formas no vas a saber a que clase asignarlo...
Imaginemos que fuese tan simple como hacer:

string nombre_clase = "Entidades.Persona";
object p = UnFactory.ObtenerObjetoRaro();

// Dije "Imaginemos" que fuese tan simple como poner el nombre del
string, esto obviamente no anda...
object p2 = (nombre_clase) p;

Como no conozco en tiempo de compilacion el nombre de la clase,
tampoco lo voy a poder asignar a una variable de ese tipo...
Si lo que queres es acceder via reflection u obtener el tipo no es
necesario hacer el cast...

Entendi mal o no tiene mucho sentido hacerlo? =S


Salu2!
Respuesta Responder a este mensaje
#2 Robert Barreiro
18/05/2007 - 19:29 | Informe spam
Mmmmmm...entendi lo mismo que vos :-)



"Diego Jancic" escribió en el mensaje
news:
Hola,
Voy a responder con una pregunta... cual es el objetivo de hacerlo si
de todas formas no vas a saber a que clase asignarlo...
Imaginemos que fuese tan simple como hacer:

string nombre_clase = "Entidades.Persona";
object p = UnFactory.ObtenerObjetoRaro();

// Dije "Imaginemos" que fuese tan simple como poner el nombre del
string, esto obviamente no anda...
object p2 = (nombre_clase) p;

Como no conozco en tiempo de compilacion el nombre de la clase,
tampoco lo voy a poder asignar a una variable de ese tipo...
Si lo que queres es acceder via reflection u obtener el tipo no es
necesario hacer el cast...

Entendi mal o no tiene mucho sentido hacerlo? =S


Salu2!

Respuesta Responder a este mensaje
#3 Jose Luis Manners
20/05/2007 - 21:41 | Informe spam
¿y porque no simplemente creas una instancia del objeto usando reflexión?

-
Coopera con el foro. Dinos si te sirvió la respuesta aquí planteada.
-

Saludos,

Jose Luis Manners
MCP, MCAD.NET
Microsoft MVP Visual C#
http://www.josemanners.com/
http://www.josemanners.com/mvp

"What we do for ourselves dies with us. What we do for others and the world
remains and is immortal."



"ANT1" wrote in message
news:
Hola tengo en un string el nombre de la clase de un objeto y necesito
hacer un casting a partir de este.

¿Como se puede hacer?

Gracias, un saludo.
Respuesta Responder a este mensaje
#4 ANT1
21/05/2007 - 09:31 | Informe spam
Gracias por esponder a todos.

La verdad es que ahora que me lo plantean de esta manera no se me
habia ocurrido verlo asi. Y tienen la razon. Les voy a plantear un
poco mas mi aplicacion a ver si me apueden ayudar.

Lo que estoy intentando es crear mi propio backup unas colecciones de
objetos de diferentes clases (Cliente, Empresa, ...). De momento lo
que hice fue crear un archivo de texto (ahora mismo lo estoy
orientando a xml), en el que almaceno la clase del objeto (de ahi el
string del que queria sacar la clase del objeto) y un string con el
objeto serializado y convertido a base64string.

Mi intencion era despues a partir de la clase y de la cadena-backup
del objeto recuperar dicho objeto.

Todas mias clases heredan de una clase base ObjetoBase. ¿Se podria
hacer algo como lo siguiente?

string clase = "Clase_del_objeto";
string valorObjeto = "Base64String_almacenado_enbackup";
ObjetoBase objetoNuevo (clase)ObjetoBase.MetodoReconversor(valorObjeto);


¿"ObjetoNuevo" tendria la propiedades de la clase del backup, aunque
la clase ObjetoBase no las tenga definidas?
Y luego ya posteriormente crear un conversor al type que se pueda
recuperar del string "clase"
Respuesta Responder a este mensaje
#5 ANT1
21/05/2007 - 09:32 | Informe spam
Gracias por esponder a todos.

La verdad es que ahora que me lo plantean de esta manera no se me
habia ocurrido verlo asi. Y tienen la razon. Les voy a plantear un
poco mas mi aplicacion a ver si me apueden ayudar.

Lo que estoy intentando es crear mi propio backup unas colecciones de
objetos de diferentes clases (Cliente, Empresa, ...). De momento lo
que hice fue crear un archivo de texto (ahora mismo lo estoy
orientando a xml), en el que almaceno la clase del objeto (de ahi el
string del que queria sacar la clase del objeto) y un string con el
objeto serializado y convertido a base64string.

Mi intencion era despues a partir de la clase y de la cadena-backup
del objeto recuperar dicho objeto.

Todas mias clases heredan de una clase base ObjetoBase. ¿Se podria
hacer algo como lo siguiente?

string clase = "Clase_del_objeto";
string valorObjeto = "Base64String_almacenado_enbackup";
ObjetoBase objetoNuevo (clase)ObjetoBase.MetodoReconversor(valorObjeto);


¿"ObjetoNuevo" tendria la propiedades de la clase del backup, aunque
la clase ObjetoBase no las tenga definidas?
Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente Respuesta Tengo una respuesta
Search Busqueda sugerida