问题
I Have a few lines of code
public void CreateMethod<TContract>(Expression<Action<TContract>> method)
{
var innerMethod = Builder.DefineMethod("SomeName",MethodAttributes.Private);
method.CompileToMethod(innerMethod);
//more code
}
However the second line fails. I've tried with different versions of DefineMethod with little luck. Any suggestions?
回答1:
Unfortunately, CompileToMethod
requires a static method as its argument (see here). Therefore, you need to add MethodAttributes.Static
to innerMethod
's definition.
来源:https://stackoverflow.com/questions/3992376/lambdaexpression-compiletomethod