这看起来很简单,但我不能让它工作。我有一个 Object,我使用反射来获得它的公共属性。这些属性中有一个是静态的,我没法找到它。
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 反射器可以很好地看到静态属性,所以很明显我在这里遗漏了一些东西。