表达式应为MethodCallExpression调用表达式<;行动>;
本文关键字:表达式 行动 gt lt 调用 MethodCallExpression | 更新日期: 2023-09-27 18:27:27
下面的代码抛出这个异常的原因是什么?"Expression必须是MethodCallExpression。我认为调用Action就是…
Action startBouncePolling = new Action(async () =>
{
});
BackgroundJob.Enqueue(() => startBouncePolling());
排队签名是Expression<Action>
的一个参数
当您调用startBouncePolling()
时,您不是在调用方法。startBouncePolling
不是一个方法,它是一个委托。因此,您实际上是在调用一个委托。
因此,lambda表达式() => startBouncePolling()
的主体最终是InvocationExpression
,而不是MethodCallExpression
。
如果您使用方法而不是委托,例如:
public async Task StartBouncePolling()
{
}
...
BackgroundJob.Enqueue(() => StartBouncePolling());
则该主体将是CCD_ 7。