【问题标题】:ILSpy decompile a delegateILSpy 反编译委托
【发布时间】:2021-12-15 14:52:26
【问题描述】:

ILSpy 可以反编译程序集。它可以反编译委托吗?我会想象一个 CSharpDecompiler 构造函数重载接受 Func 或 Action 作为参数而不是“字符串文件名”。它在技术上是否可行,是否有任何未来计划支持这一点?有什么建议的解决方法吗?

我想到的例子......

Action<int> myAction = i =>
{
    // body to be decompiled
};
var decompiler = new CSharpDecompiler(myAction, new DecompilerSettings());
decompiler.DecompileAsString();

【问题讨论】:

  • 你试过后得到了什么?
  • 你可以在程序集之外有一个编译的委托吗?
  • @phuzi 不,你不能。我的想法是,我可以将委托作为局部变量并将其提供给反编译器,而无需引用程序集。
  • 如果您可以在您的问题中提供一些示例代码,您的问题会更容易理解。

标签: .net ilspy


【解决方案1】:

ILSpy 官方成员已在项目讨论部分回答:

“这是不可能的,因为反编译器需要包含 IL 代码和 .NET 元数据表的完整 PE 映像”

https://github.com/icsharpcode/ILSpy/discussions/2581

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-30
相关资源
最近更新 更多