是否有可以将方法反编译为表达式树的库,并支持CLR 4.0?

Dan*_*ker 5 c# .net-4.0 expression-trees

之前的问题询问是否可以将已编译的委托转换为表达式树,例如:

当时理智的答案是:

  • 这是可能的,但非常困难,没有标准的库解决方案.
  • 使用反射器!

但幸运的是,有一些非常疯狂/疯狂的伟大的人喜欢逆向工程的东西,他们让我们其他人的事情变得容易.

显然,可以将IL反编译为C#,因为Reflector会这样做,因此您原则上可以使用支持所有语句类型的CLR 4.0表达式树.这很有意思,因为编译器对Expression<>lambdas 的内置特殊支持永远不会扩展为支持编译器中的构建语句表达式树并不重要.图书馆解决方案可填补这一空白.然后,我们将有一个高级别的起点,用于编写类似方面的代码操作,而不必混淆原始IL.

如上述相关问题的答案所述,有一些有希望的迹象,但我没有成功地发现自搜索以来是否取得了很大进展.

那么有人完成这项工作,还是走得很远?

注意: CLR 4.0现已发布.再看看的时间 - 看.

Dan*_*ker 0

根据回复,我将回答我的问题:

不。

当然,如果有人提出更好的答案(或者我遇到一个),我会更新。