Foros del Web » Programación para mayores de 30 ;) » .NET »

Problema con reflexión

Estas en el tema de Problema con reflexión en el foro de .NET en Foros del Web. Buen día a todos...!!! Ojala me puedan ayuda, tengo un problema cuando trabajo con reflexion a una dll generada. la situacion es esta. Tengo una ...
  #1 (permalink)  
Antiguo 28/01/2009, 10:31
 
Fecha de Ingreso: enero-2009
Mensajes: 1
Antigüedad: 15 años, 3 meses
Puntos: 0
Problema con reflexión

Buen día a todos...!!!

Ojala me puedan ayuda, tengo un problema cuando trabajo con reflexion a una dll generada. la situacion es esta. Tengo una dll (la llamaremos mydll.dll) la cual entre todas sus clases tiene una clase llamada Clase1 con sus respectivos atributos. Cuando intento obtener un objeto de esta clase por reflexion tengo que hacerlo por medio de un construtor con sus respectivos parámetros (ya los tengo almacenados en arreglo de objetos. Al arreglo lo llamaremos parametrosConstructor). Resulta pues que con la siguiente sentencia hago este trabajito:

Código:
object objObjeto2 = Activator.CreateInstance(ensamblado.GetType("mydll.Clase1", parametrosConstructor);
El resultado es que obtengo el objeto que queria, y no tengo ningún inconveniente, puesto que no salta ninguna excepción hasta este punto.

Pero el problema es que me percaté que uno de los atributos del objeto se crea con una excepción. La excepción es la siguiente:

atributo4Clase1 -> Count = '((System.Collections.Generic.Dictionary<TKey,TVal ue>.ValueCollection)(((midll.Clase1)(objObjeto2)). atributo4Clase1)).Count' produjo una excepción de tipo 'System.ArgumentException'

Siguiendo un poco más a fondo el error (cabe señalar que no hubo mucho de donde buscar el origen del error), lo que más me llamó la atención es que en cierto punto me dice lo siguiente:

No se puede encontrar el método de la instancia de objeto. (No especifica a que objeto se refiere)

Personalmente creí que el problema es con la clase, porque para que diga que no hay el método de la instancia de objeto, lo más probable es que objObjeto2 tenga problemas con el casting que se especifica en la excepcion inicial.

Pensé que era algún problema con la clase Clase1, pero lo descarté, puesto que instancié la misma clase de la siguiente manera:

Clase1 obj = new Clase1((string) parametrosConstructor[0], (string) parametrosConstructor[1]);

Y el objeto se crea sin ningún tipo de inconvenientes y menos aún no se genera la excepción que les mencioné anteriormente.

Alguien tiene alguna idea de porque se da esto??? Les agradezco su ayuda...!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:31.