Programming F# bookを使用すると、最初にシリアルとして指定された例があります。
let result1 = longTask1()
let result2= = LongTask2()
次に、PFXを使用して、
Open System.Threading.Tasks
let taskBody = new Func<string>(longTask1)
let task = Task.Factory.StartNew<string>(taskBody)
let result2 = longTask2()
let result1 = task.Result
ただし、私の場合、関数readBlock
は文字列filePath
を引数として受け取り、seq
. 私はこのようにしてみました
let taskBody = new System.Func<string, seq<_>>(readBlock)
let task = Task.Factory.StartNew<seq<_>>(taskBody.Invoke(filePath))
これは、Task.Factory.StartNew 部分のエラーを示しています - 引数が多すぎます。では、値を返すパラメータ化された関数を呼び出すにはどうすればよいでしょうか?