私は偶然、解決できた問題にぶつかりました。しかし、私はエラーコードがコンパイルできた理由を理解できないことを心配しています(最初は)。続きパラメータ化されたアクション
は罰金コンパイルエラー-EDコード、次のとおりです。
Task<string> myTask = Task<string>.Factory.StartNew(() =>
{
System.Threading.Thread.Sleep(1000);
return "mystrineg";
});
myTask.ContinueWith(t => action, CancellationToken.None,
TaskContinuationOptions.NotOnFaulted, TaskScheduler.Default);
上記のコードで問題がある:action
が全く呼び出されません。ここ は私が作った修正です:
Task<string> myTask = Task<string>.Factory.StartNew(() =>
{
System.Threading.Thread.Sleep(1000);
return "mystrineg";
});
myTask.ContinueWith(t => action(t.Result), CancellationToken.None,
TaskContinuationOptions.NotOnFaulted, TaskScheduler.Default);
私の質問は、なぜコンパイラは、引数なしでパラメータ化アクションを呼び出すことができるようにされていますか?
すべての答えは正しいです。しかし、私は早く到着したものを選択しなければなりませんでした。皆さん、ありがとうございました! – James