我有几行代码
public void CreateMethod<TContract>(Expression<Action<TContract>> method)
{
var innerMethod = Builder.DefineMethod("SomeName",MethodAttributes.Private);
method.CompileToMethod(innerMethod);
//more code
}
然而第二行失败了。我尝试过使用不同版本的DefineMethod,运气不佳。 有什么建议吗?
答案 0 :(得分:9)
不幸的是,CompileToMethod
需要一个静态方法作为其参数(参见here)。因此,您需要将MethodAttributes.Static
添加到innerMethod
的定义中。