Problemas con Reflexión

22/11/2006 - 12:50 por Pablo | Informe spam
Hola a todos

Tengo este problema con el siguiente código

Dim type As Type = Me.MaskedTextBox1

Dim prop As System.Reflection.PropertyInfo

Dim obj As Object

Dim returnValue As Object

For Each prop In type.GetProperties

Try

returnValue = prop.GetValue(obj, Nothing)

Me.ListBox1.Items.Add(prop.Name + "=" + returnValue.ToString)

Catch ex As System.Reflection.TargetException

End Try

Next

El problema es que siempre se genera la Exception
System.Reflection.TargetException

Si alguien me puede ayudar le agradecería



Nota: El objetivo de este algoritmo es rellenar un ListBox con las
propiedades y sus valores de un objeto



Muchas Gracias



Pablo

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
22/11/2006 - 13:33 | Informe spam
"Pablo" wrote in message
news:
El problema es que siempre se genera la Exception
System.Reflection.TargetException



Veo un par de errores:

Dim type As Type = Me.MaskedTextBox1



Debería ser

Dim type As Type = Me.MaskedTextBox1.GetType()

No me explico que no te dé un error al intentar meter un MaskedTextBox
dentro de un Type.


Dim obj As Object
[...]
returnValue = prop.GetValue(obj, Nothing)



El GetValue requiere que se le pase el objeto cuyo valor de una propiedad
queremos extraer, pero le estás pasando "obj", que no has inicializado y por
tanto vale Nothing. Deberías poner:

returnValue = prop.GetValue(Me.MaskedTextBox1, Nothing)


Prueba con estos cambios, a ver si te funciona.
Respuesta Responder a este mensaje
#2 Pablo
22/11/2006 - 14:26 | Informe spam
Muchas Gracias Alberto, no comprendia en la documentación que objeto habia
que pasarle a la función GetValue(), el primer error fue un error al
escribir el mensaje.

Muchas Gracias

"Alberto Poblacion"
escribió en el mensaje news:O$
"Pablo" wrote in message
news:
El problema es que siempre se genera la Exception
System.Reflection.TargetException



Veo un par de errores:

Dim type As Type = Me.MaskedTextBox1



Debería ser

Dim type As Type = Me.MaskedTextBox1.GetType()

No me explico que no te dé un error al intentar meter un MaskedTextBox
dentro de un Type.


Dim obj As Object
[...]
returnValue = prop.GetValue(obj, Nothing)



El GetValue requiere que se le pase el objeto cuyo valor de una
propiedad queremos extraer, pero le estás pasando "obj", que no has
inicializado y por tanto vale Nothing. Deberías poner:

returnValue = prop.GetValue(Me.MaskedTextBox1, Nothing)


Prueba con estos cambios, a ver si te funciona.


Respuesta Responder a este mensaje
#3 Pablo
22/11/2006 - 14:26 | Informe spam
Muchas Gracias Alberto, no comprendia en la documentación que objeto habia
que pasarle a la función GetValue(), el primer error fue un error al
escribir el mensaje.

Muchas Gracias

"Alberto Poblacion"
escribió en el mensaje news:O$
"Pablo" wrote in message
news:
El problema es que siempre se genera la Exception
System.Reflection.TargetException



Veo un par de errores:

Dim type As Type = Me.MaskedTextBox1



Debería ser

Dim type As Type = Me.MaskedTextBox1.GetType()

No me explico que no te dé un error al intentar meter un MaskedTextBox
dentro de un Type.


Dim obj As Object
[...]
returnValue = prop.GetValue(obj, Nothing)



El GetValue requiere que se le pase el objeto cuyo valor de una
propiedad queremos extraer, pero le estás pasando "obj", que no has
inicializado y por tanto vale Nothing. Deberías poner:

returnValue = prop.GetValue(Me.MaskedTextBox1, Nothing)


Prueba con estos cambios, a ver si te funciona.







Estoy usando la versión gratuita de SPAMfighter para usuarios privados.
Ha eliminado 302 correos spam hasta la fecha.
Los usuarios de pago no tienen este mensaje en sus correos.
Obtenga SPAMfighter gratis aquí: http://www.spamfighter.com/pro
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida