要将Hangfire与F#结合使用,我需要一些帮助:
Hangfire的BackgroundJob.Enqueue将具有泛型Action<'T>的System.Linq.Expressions.Expression作为参数。
所以完整地说:Expression>
在我这一边,我有一个处理方法:
因此,let doSomething () = ()的签名是unit -> unit。
如果被叫的人拿了一个Action(doSomething),我怎么能很好地通过Action,但事实并非如此。
那么如何将我的unit -> unit转换为Expression<Action<'T>>
发布于 2016-05-03 02:53:21
正如kvb在评论中所说的,F#支持将lambda转换为Expression,就像C#一样。因此,如果您想要创建一个忽略其输入并调用doSomething的表达式,它只是:
BackgroundJob.Enqueue(fun x -> doSomething())https://stackoverflow.com/questions/36991371
复制相似问题