查看从编译的表达式生成的IL代码
- 论坛
- 查看从编译的表达式生成的IL代码
20 浏览
查看从编译的表达式生成的IL代码
在调用Expression树上的Compile()方法时,是否可以查看生成的IL代码?考虑以下非常简单的示例:
class Program { public int Value { get; set; } static void Main(string[] args) { var param = Expression.Parameter(typeof(Program)); var con = Expression.Constant(5); var prop = Expression.Property(param, typeof(Program).GetProperty("Value")); var assign = Expression.Assign(prop, con); Actionlambda = Expression.Lambda >(assign, param).Compile(); Program p = new Program(); lambda(p); //p.Value = 5; } }
现在,表达式树执行了Main
方法的最后一行所描述的操作。编译应用程序后,打开Reflector。您可以看到执行赋值操作的p.Value = 5;
的IL代码。但是,表达式树是在运行时创建和编译的。是否可以查看编译后的IL代码?