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

标签 c# reflection methods intermediate-language invocation

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

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

最佳答案

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

  • 打电话
  • 调用virt
  • 代表
  • 动态方法
  • MethodInfo.Invoke
  • Type.InvokeMember
  • 类型描述符
  • 反射.发射
  • 表达树

我记得有一篇文章比较了其中大部分的速度,但是我现在好像找不到了。

Google 快速搜索得出以下链接:[Link] [Link] [Link] [Link] [Link]

关于c# - 在 C# 中动态调用方法的选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1708451/

相关文章:

java - 为 Java 中的方法选择合适的名称

java - 是否可以通过反射处理类元数据以确保 DRY 方法?

c# - 异常不从 C# 中的反射方法调用传播

ios - 带字符串的 Objective C 替代方法触发器名称

python - 如何在 google-app-engine 模板中启用方法

Java getMethod() 导致 NoSuchMethodException 错误

c# - 如何渲染和检测视线?

c# - 在员工管理系统中实现假期

c# - 并发选择唯一记录

javascript - 如何在自定义控件TFS 2017中获取/设置WI字段值