我基本上是在尝试实现一些 ASP.Net 控件(例如DropDownList
)使用的部分逻辑,以便接受一个通用数据源,该数据源被迭代,并且每一行都通过调用用户指定的属性来消耗。
这是在 VB.Net 中。示例如下:
Dim myObject As Object = getUnknownObject()
Dim propertyName As String = getUnknownPropertyNameForObject()
'Now given that myObject is an array of objects which possess the property given by propertyName '
For Each i As Object In myObject
Dim valueOfProperty As String = invokePropertyOfObject(myObject, propertyName)
'Do something with value'
Next i
我正在寻找一个invokePropertyOfObject
将返回他属性值的实现。我想注意动态属性是在循环中调用的,因此以这种方式使用反射可能会出现性能问题。
有谁知道做我想做的事情的理想方式是什么?如果可能的话,我想要一种只执行一次动态属性查找并在循环期间重复使用它的方法。是否可以这样做,请记住,虽然对象是未知的,但数组中的每个对象都是相同的类型。