我听说过.Net 3.5对其编译到的IL没有做任何更改的说法。在考虑了我所介绍的所有编译器功能之后,实际上,它们似乎都可以在相同的旧IL中实现,但是我找不到官方来源来证实这一说法。是真的吗

最佳答案

我认为没有这样的IL更改,但是CLR实现中进行了重大更改,以使动态方法更有效,允许表达式树编译等。我似乎记得关于建筑物安全性的更改动态方法,使lambda表达式生成表达式树以调用私有(private)方法甚至在相对低信任度的环境中也可行。编译器知道调用私有(private)方法是有效的,因为编译源代码的点可以访问它。证明这很棘手:)参见this note by Eric Lippert

关于.net - 自.Net 2.0以来,.Net IL是否发生了根本变化?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/961416/

10-13 09:24