【发布时间】:2010-10-01 21:00:18
【问题描述】:
所以这看起来很基本,但我无法让它工作。我有一个对象,我正在使用反射来获取它的公共属性。这些属性之一是静态的,我没有运气。
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 反射器可以很好地看到静态属性,所以很明显我在这里遗漏了一些东西。
【问题讨论】:
-
这真的非常类似于:stackoverflow.com/questions/392122/…
-
嗯,它们都使用 BindingFlags 是相似的。我正在寻找一个特定的 BindingFlags 组合,它可以让我获得公共成员,无论是静态成员还是实例。
标签: .net reflection static