Así que esto parece bastante básico, pero no puedo hacer que funcione. Tengo un objeto y estoy usando el reflejo para acceder a sus propiedades públicas. Una de estas propiedades es estática y no tengo suerte para llegar a ella.Cómo obtener una propiedad estática con Reflection
Public Function GetProp(ByRef obj As Object, ByVal propName as String) as PropertyInfo
Return obj.GetType.GetProperty(propName)
End Function
El código anterior funciona bien para las propiedades de Instancia Pública, que hasta ahora era todo lo que necesitaba. Supuestamente puedo usar BindingFlags para solicitar otros tipos de propiedades (privadas, estáticas), pero parece que no puedo encontrar la combinación correcta.
Public Function GetProp(ByRef obj As Object, ByVal propName as String) as PropertyInfo
Return obj.GetType.GetProperty(propName, Reflection.BindingFlags.Static Or Reflection.BindingFlags.Instance Or Reflection.BindingFlags.Public)
End Function
Pero aún así, solicitar cualquier miembro estático no devuelve nada. El reflector .NET puede ver las propiedades estáticas bien, así que claramente me falta algo aquí.
Esto es realmente muy similar a esto: http://stackoverflow.com/questions/392122/in-c-how-can-i-tell-if-a-property-is-static-net-cf -2-0 – ctacke
Bueno, es similar, ya que ambos usan BindingFlags. Estoy buscando una combinación específica de BindingFlags que me permita obtener miembros públicos, ya sean estáticos o de instancia. –