LambdaExpression CompileToMethod

Run*_* FS 3 .net c# lambda reflection.emit

我有几行代码

public void CreateMethod<TContract>(Expression<Action<TContract>> method)
{
   var innerMethod = Builder.DefineMethod("SomeName",MethodAttributes.Private);
   method.CompileToMethod(innerMethod);
   //more code
}
Run Code Online (Sandbox Code Playgroud)

但是第二行失败了.我尝试过使用不同版本的DefineMethod,运气不佳.有什么建议?

kvb*_*kvb 9

不幸的是,CompileToMethod需要一个静态方法作为其参数(见这里).因此,您需要添加MethodAttributes.StaticinnerMethod定义.