obtener tipo desde cadena

07/07/2005 - 11:55 por Kano | Informe spam
Buenos dias
Tengo un problema con la sentencia
Type.GetType(string)
Tengo dos proyectos en la solución uno en vb.net y otro en c#
Cuanto intento ejecutar la sentencia de Type.GetType(string) desde el
proyecto de c# sobre una clase definida en el vb.net me devuelve siempre
nulo.
Que debo hacer para obtener el tipo y poder instanciar un objeto de esta
manera?

Gracias por adelantado
Kano

Preguntas similare

Leer las respuestas

#1 Hernan
08/07/2005 - 18:24 | Informe spam
Una aclaración porque me parece que se cruzaron los mensjes.
La referencia al otro hilo de la conversación era por la explicación
técnica,
que yo por pereza por pura pereza la evité.

Para este hilo sí se hace necesario usar reflexion, pero para el otro
me
parece que es abusar un poco. Evitarse escribir 2/3 líneas de código
por
clase ya me parece *demasiada* pereza. Se supone que el trabajo serio
está en escribir cada clase, no en la factory.

-H.
Respuesta Responder a este mensaje
#2 Kano
11/07/2005 - 11:51 | Informe spam
Veamos, ya he conseguido resolverlo:


string s_pcsform =
NombreDeFormulario.Substring(10,NombreDeFormulario.Length-10);
s_pcsform="xxxxxx.xxxxxxxx.xxx."+s_pcsform;
Assembly as_pcsnetwin=Assembly.GetEntryAssembly();
Form f_pcsform= as_pcsnetwin.CreateInstance(s_pcsform) as Form;


Veamos a ver si me aclaro. Tienes varuios formularios, cuyo código no puedes
cambiar, que no tienen ninguna clase base ni interface, de acceso a sus
miembros ¿es así?





Pero hay varios detalles que no acabo de comprender. ¿Tu código es una dll?.



¿Entonces como vas a establecer un método Main?.


a ver .. tengo los fuentes de la aplicación completa incluidos en mi
proyecto, pero no puedo cambiarlos pq esos fuentes no son los usados
para conseguir los ensamblados de la aplicación completa, solo me sirven
de apoyo. Así el main lo establezco en el ejecutable principal q no es mio.

El main de ese proyecto
sería en todo caso el del ejecutable, que como no puedes modificar nunca
hará llamada alguna a tu código. Sería sencillo, y no necesitarías
reflection, si pudieses modificar ese ejecutable para convertirlo en una
librería (dll). En caso de que no puedas, aunque vs.net no permite añadir
ejecutables como referencia, el compilador en línea de C# si lo admite.


No Puedo hacer eso, el ejectuable debe seguir siendo ejecutable ya q no
depende de mi.

Una vez resuelto el problema, me surgen dudas acerca de si este método
sera estable a largo plazo, quiero decir, cualquier cambio de nombre de
la biblioteca o del espacio de nombres alteraria el comportamiento.

Muchas gracias por todo:
Kano
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida