我有一个具有以下签名的方法:
private object GetNestedObject<y>(y objToAccess, string nestedObjectName)
我正在使用反射从 objToAccess 获取nestedObject 并返回它。
这很好用,除了它真的很慢(我必须这样做几十万次)。
我遇到了 HyperDescriptor,但由于我在 Linux 上运行它,而 Mono 不支持 TypeDescriptionProviders,我无法使用它。
在这种情况下,是否有使用 getValue 的替代方法?我总是可以对每种类型的覆盖进行硬编码,但这是不可取的,并且会在我的情况下增加大量维护开销。
最佳答案
Jon Skeet 写了一篇关于使用 Delegate.CreateDelegate() 加快速度的博客文章:
http://msmvps.com/blogs/jon_skeet/archive/2008/08/09/making-reflection-fly-and-exploring-delegates.aspx
我不知道它是否适用于 Mono。
关于c# - Mono 的 PropertyInfo.GetValue() 替代方案?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3070531/