在C#中动态调用方法的选项

时间:2009-11-10 14:42:32

标签: c# reflection methods intermediate-language invocation

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

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

1 个答案:

答案 0 :(得分:5)

为了让您入门,以下是我可以想到的在.NET中调用方法的方法:

  • 呼叫
  • Callvirt
  • 代表
  • DynamicMethod的
  • MethodInfo.Invoke
  • Type.InvokeMember
  • TypeDescriptor
  • Reflection.Emit的
  • 表情树

我记得有一篇文章比较了大多数人的速度,但我现在似乎无法找到它。

通过以下链接快速进行Google搜索:[Link] [Link] [Link] [Link] [Link]