我正在使用ANTLR構建一個簡單的.NET for .NET,將字符串中的腳本轉換為Dynamic Method。我的第一個想法是轉換為IL操作碼,但現在我正在閱讀有關DM創建的表達式樹。似乎我可以使用表達式樹生成任何方法,就像IL代碼一樣?
謝謝!
IL Code為您提供更多功能。例如,您可以使用它來發出適用於.NET CLR的代碼,但不一定是您可以用C#或VB.NET編寫的代碼。
但總的來說是的,你應該能夠做任何你想用表達式樹做的事情,而且它們更容易包裹你的頭腦。
發送IL代碼可能比編譯表達式樹運行得快一些。我不擔心這個(過早優化),但值得注意。請參閱如何使動態變量影響性能?對於某些性能規格。