使用.NET/C中的委托加速Reflection API

pro*_*eek 7 .net c# reflection delegates

这篇文章有评论if you need to call the method multiple times, use reflection once to find it, then assign it to a delegate, and then call the delegate..

  • 如何以及为何delegate更快地运作?谁能有一些例子吗?
  • 我可以打电话给你caching吗?如果是这样,除了使用委托的缓存方法之外还有其他方法吗?

添加

我想出了一个delegate 在这里使用的例子.

Bra*_*etz 4

委托只是一个指向函数的指针如果您(完全)使用反射,通常会产生大量与之相关的开销。通过查找此方法地址一次并将该地址分配给您的委托变量,您实际上是在缓存它。

因此,并不是“委托”类型的工作速度更快,而是您“计算”一次并多次“使用”它,从而提高了速度。

  • @Neowizard 我很欣赏你的挑剔,但我实话实说。 (2认同)