我有几行代码

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

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

最佳答案

不幸的是, CompileToMethod 需要一个静态方法作为它的参数(参见 here )。因此,您需要将 MethodAttributes.Static 添加到 innerMethod 的定义中。

关于c# - LambdaExpression CompileToMethod,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3992376/

10-12 05:52