所以这似乎很基本,但我不能得到它的工作。我有一个对象,我使用反射来获取它的公共属性。其中一个属性是静态的,我没有运气。如何获得静态属性与反射
Public Function GetProp(ByRef obj As Object, ByVal propName as String) as PropertyInfo
Return obj.GetType.GetProperty(propName)
End Function
上面的代码适用于公共实例属性,直到现在,我所需要的都是上述代码。据我可以使用BindingFlags来请求其他类型的属性(私人,静态),但我似乎无法找到正确的组合。
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
但仍然请求任何静态成员不返回任何内容。 .NET反射器可以看到静态属性就好了,所以很明显我在这里丢失了一些东西。
这是真的,非常类似于此: http://stackoverflow.com/questions/392122/in-c-how-can-i-tell-if-a-property-is-static-net-cf -2-0 – ctacke 2009-01-16 18:42:24
那么它们都使用BindingFlags。我正在寻找BindingFlags的特定组合,这将允许我获得Public成员,无论是Static还是Instance。 – 2009-01-16 19:19:02