4

我已经看到很多与如何调用这样和那样的方法相关的问题。我还没有找到如何通过反射或 csharp 中的任何其他方式调用方法的不同选项的列表。

有人可以详细解释在 csharp 中动态调用方法的不同方式吗?从反射到发射 IL 以及介于两者之间的任何其他方式。我想知道在资源方面从最昂贵到最便宜的所有不同方式。

4

1 回答 1

5

为了让您开始,以下是在 .NET 中调用我能想到的方法的方法:

  • 称呼
  • Callvirt
  • 代表
  • 动态法
  • 方法信息调用
  • 类型.InvokeMember
  • 类型描述符
  • 反射.发射
  • 表达式树

我记得有一篇文章比较了他们中的大多数人的速度,但我现在似乎找不到。

一个快速的谷歌搜索想出了这些链接:[链接] [链接] [链接] [链接] [链接]

于 2009-11-10T15:06:28.730 回答