Ver Mensaje Individual
  #1 (permalink)  
Antiguo 23/06/2005, 01:27
Perelu
 
Fecha de Ingreso: junio-2005
Mensajes: 15
Antigüedad: 18 años, 11 meses
Puntos: 0
Reflection - GetProperty

Una de las cosas mas abstractas que me he encontrado en VB.Net es la de los parámetros BindingFlags de Reflection.

En una clase donde tengo una propiedad sebrecargada mediante Shadows deseo recogerla via Reflection mediante Me.GetType.GetProperty("NombrePropiedad"), pero aqui viene lo bueno, no me aclaro metientole los parámetros BindingFlags siguientes.

Actualmente he resuelto el código chapuceramente de la siguiente forma:


Try
PIPropiedad = Me.GetType.GetProperty(strPropiedad)
Catch ex As Exception
PIPropiedad = Me.GetType.GetProperty(strNombreSinID, BindingFlags.Static Or BindingFlags.Instance Or BindingFlags.Public Or BindingFlags.DeclaredOnly)
End Try

En el primer intento recojo las propiedades normales, pero si se encuentra una propiedad enmascarada con Shadows se produce un error de AmbiguousMatchExcepcion (Propiedad Ambigua) con lo que utilizo la segunda llamada para que distinga la propiedad que deseo (La enmascarada).

He probado de utilizar solamente la segunda expresión pero en ese caso no encuentra las propiedades normales.

¿ Alguien puede echarme una mano para configurar el GetProperty o explicarme como demonios conseguir afinarlo ?

Muchas Gracias de antemano...