のユニットが、私は少しの助けが必要なのF#との組み合わせでHangfireを使用するには:単位を変換する - >アクション
HangfireのBackgroundJob.Enqueue
は、ジェネリック型Action<'T>
とパラメータSystem.Linq.Expressions.Expression
として取ります。フルでそう
そして、私の側に私は私の処分にメソッドを持っている:
let doSomething() =()
したがってその署名がunit -> unit
です。
どのように私は完全にAction(doSomething)
を渡すことができました、着呼者がAction
を取った場合、しかしそれはありません。
unit -> unit
をExpression<Action<'T>>
に変換するにはどうすればよいですか?
は 'someFunc'タイプの'単位の変換 - > unit'アクション 'には' 'アクション(のと同じくらい簡単ですsomeFunc) 'を実行します。しかし、関数をLINQ式に変換するのは少し難しいです。助けになるかもしれない例については、[別の質問に対するこの回答](http://stackoverflow.com/a/23146624/24380)を参照してください。 –
メソッドの引数として構文F#関数から '式<_>'にタイプディレクティブ変換されているので、 'Enqueue(fun() - > doSomething())'を呼び出してみてください。 – kvb