如何将异步方法作为操作传递?

How to pass an async method as an action?

我有这个方法:

public class Publish
{
    public async Task NowAsync(bool isFinal)
    {
        //...
    }
}

我想在这里将它作为参数传递而不是 () => Console.WriteLine():

RecurringJob.AddOrUpdate("name", () => Console.WriteLine("Hello"));

AddOrUpdate 方法接受类型为 Expression<Action>

的参数

我该怎么做?谢谢。

hangfire 1.6 开始(目前是 1.5 岁)您可以将异步方法(return Task 的方法)传递给 AddOrUpdate 而无需转换它们到同步方法(到 Action):

RecurringJob.AddOrUpdate("name", () => NowAsync(true), (string) null);