有没有办法,可以反编译的方法到防爆pression树,与CLR 4.0支持库?没有办法、反编译、方法、CLR

由网友(刺 心)分享简介:previous问题问是否可以把编译代表到前pression树木,例如:Previous questions have asked if it is possible to turn compiled delegates into expression trees, for example:http://stack...

previous问题问是否可以把编译代表到前pression树木,例如:

Previous questions have asked if it is possible to turn compiled delegates into expression trees, for example:

http://stackoverflow.com/questions/767733/converting-a-net-funct-to-a-net-ex$p$pssionfunct

理智的答案当时是:

这是可能的,但很辛苦,有没有标准库的解决方案。 使用反射!

但幸运的是也有一些很大的,疯狂的/出奇的伟大的人在那里谁喜欢逆向工程的事,他们让容易让我们的其他困难的事。

But fortunately there are some greatly-insane/insanely-great people out there who like reverse engineering things, and they make difficult things easy for the rest of us.

显然是可能的反编译IL到C#,因为反射做它,所以你可以的原则的目标,而不是对所有的语句类型的支持CLR 4.0 EX pression树。这很有趣,因为它不会重要,如果编译器内置的特殊支持防爆pression<> lambda表达式是从来没有扩展,以支持建设语句前pression树的编译器。库解决方案可以填补这个空白。然后,我们将有一个高层次的起点写作code纵横般的操作,而不必惹生IL。

Clearly it is possible to decompile IL to C#, as Reflector does it, and so you could in principle instead target CLR 4.0 expression trees with support for all statement types. This is interesting because it wouldn't matter if the compiler's built-in special support for Expression<> lambdas is never extended to support building statement expression trees in the compiler. A library solution could fill the gap. We would then have a high-level starting point for writing aspect-like manipulations of code without having to mess with raw IL.

正如在答案注意到上述链接的问题,也有一些令人鼓舞的迹象的,但我还没有成功地找到了,如果因为有很大的进展通过搜索。

As noted in the answers to the above linked question, there are some promising signs but I haven't succeeded in finding if there's been much progress since by searching.

所以,有没有人完成了这项工作,或者有很远呢?

So has anyone finished this job, or got very far with it?

注意: CLR 4.0现在被释放。时间再看一看看到的。

Note: CLR 4.0 is now released. Time for another look-see.

推荐答案

根据回应,我会回答我的问题:

Based on the response, I'm going to answer my question:

没有。

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

Though of course if someone comes up with a better answer (or I come across one) I will update.

阅读全文

相关推荐

最新文章