我有几行代码
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/