Tag: 抽象语法树

Lambda Expression Compile()方法有什么作用?

我试图在C#中理解AST。 我想知道,这个例子中的Compile()方法到底是做什么的。 // Some code skipped Expression<Func> data = Expression.Lambda<Func>( Expression.Call(s, typeof(string).GetMethod(“Substring”, new Type[] { typeof(int), typeof(int) }), a, b), s, a, b ); Func fun = data.Compile(); 为了防止误解,我理解Expression.Lambda和Expression.Call构造。 我感兴趣的是Compile()方法。 它以某种方式产生真正的MSIL吗? 我能看到MSIL吗?