【问题标题】:System.Reflection.Emit::DynamicMethod: Is there a tool to have IL code generated from existing assembly?System.Reflection.Emit::DynamicMethod:是否有工具可以从现有程序集生成 IL 代码?
【发布时间】:2015-01-11 08:15:40
【问题描述】:

我想用代码创建一个动态方法,而不是简单的代码。

所以我想创建一个方法体的硬编码版本,并通过一些工具检查它的编译版本,该工具向我返回 OpCos 和参数,以便我可以使用 ILGenerator::Emit() 插入它们。

有这样的工具吗? (也许这是个愚蠢的问题。不过,我无法使用 Google 找到它。)

【问题讨论】:

  • 那么不要使用DyanmicMethod。通过MethodBuilder走正常路线。
  • 感谢您的帮助。但看起来使用 MethodBuilder 而不是 DynamicMethod 并不能帮助我创建 IL 代码。
  • 我不明白你的意思。
  • 问题标题是:“有没有工具可以从现有程序集生成 IL 代码?”这与我使用哪种方法创建动态函数体无关。
  • 要求反对票会给你更多反对票,要求工具被不赞成:meta.stackoverflow.com/questions/254393/…

标签: .net reflection.emit il dynamicmethod


【解决方案1】:

你的问题很模糊,所以我只能给你一个模糊的答案:试试Mono Cecil。它允许您检查现有程序集中的 IL 并对其进行修改,这听起来很接近您的要求。

【讨论】:

  • 谢谢。我在 HowTo 部分中找到了一个似乎可以解决问题的部分。我会试试的。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-12
相关资源
最近更新 更多