LambdaExpression CompileToMethod - PullRequest
       15

LambdaExpression CompileToMethod

3 голосов
/ 22 октября 2010

У меня есть несколько строк кода

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

Однако вторая строка заканчивается неудачей. Я пробовал с разными версиями DefineMethod без особой удачи. Есть предложения?

1 Ответ

9 голосов
/ 22 октября 2010

К сожалению, CompileToMethod требует статический метод в качестве аргумента (см. здесь ). Поэтому вам нужно добавить MethodAttributes.Static к определению innerMethod.

...