我正在使用ANTLR构建一个简单的.NET for .NET,将字符串中的脚本转换为Dynamic Method。我的第一个想法是转换为IL操作码,但现在我正在阅读有关DM创建的表达式树。似乎我可以使用表达式树生成任何方法,就像IL代码一样?
谢谢!
答案 0 :(得分:9)
IL Code为您提供更多功能。例如,您可以使用它来发出适用于.NET CLR的代码,但不一定是您可以使用C#或VB.NET编写的代码。
但总的来说,是的,你应该能够做任何你想要用表达式树做的事情,并且它们更容易包裹你的头。
发送IL代码可能比编译表达式树要快一些。我不担心这个(过早优化),但值得注意。有关某些性能规格,请参阅How does having a dynamic variable affect performance?。