Error en reflection

12/02/2004 - 20:16 por Abel | Informe spam
Hola, estoy intentando crear una instancia de una clase, dando el nombre de la misma, pero si bien los pasos del C# creo que están correctos, al hacer el GetType me devuelve <undefined value>
La clase que deseo ejecutar está en el proyecto Listas, en la carpeta Rotulos y se llama LlenarRotulos, o sea Listas.Rotulos.LlenarRotulos
Será el problema que la clase que deseo instanciar está en otro proyecto, dentro de mi programa, en dll's separadas?

El método que deseo ejecutar es (si es que no me equivoqué):

private void llenaRotulo(Rotulos elRotulo, string theType) {
Type theClass = Type.GetType(theType);
Object o = Activator.CreateInstance(theClass);
object[] variable = new object[1];
variable[0] = elListBox;
theClass.GetMethod("fill").Invoke(o, variable);
}

Gracias por sus respuestas
 

Leer las respuestas

#1 Pedro Luna Montalvo
12/02/2004 - 20:51 | Informe spam
Esto funciona siempre y cuando el tipo que indicas es existe en el assembly
actual, o el mismo esta en otro assembly que ha sido referenciado por el
assembly actual.

Estas seguro de esto??

Si el tipo esta en otro assembly, el Framework no se tiene forma de saber
donde esta el tipo y retornaria un valor de "tipo indefinido".

Saludos
Pedro


"Abel" escribió en el mensaje
news:
Hola, estoy intentando crear una instancia de una clase, dando el nombre


de la misma, pero si bien los pasos del C# creo que están correctos, al
hacer el GetType me devuelve <undefined value>
La clase que deseo ejecutar está en el proyecto Listas, en la carpeta


Rotulos y se llama LlenarRotulos, o sea Listas.Rotulos.LlenarRotulos
Será el problema que la clase que deseo instanciar está en otro proyecto,


dentro de mi programa, en dll's separadas?

El método que deseo ejecutar es (si es que no me equivoqué):

private void llenaRotulo(Rotulos elRotulo, string theType) {
Type theClass = Type.GetType(theType);
Object o = Activator.CreateInstance(theClass);
object[] variable = new object[1];
variable[0] = elListBox;
theClass.GetMethod("fill").Invoke(o, variable);
}

Gracias por sus respuestas

Preguntas similares