1

.net 4.0 で状態オブジェクトを ContinueWith 関数に渡す方法はありますか? このオプションは、.net 4.5 で使用できます。

.net 4.0 のソース コードを確認したところ、継続した Task を作成するときに状態オブジェクトを null にハード コードしています。

4

2 に答える 2

3

の .NET 4 バージョンにContinueWithは、このオプションがありません。

Task<T>ただし、先行タスク内で作成された状態データにアクセスするために、これがどのように生成されたかに応じて、クロージャーを使用するか、データをそれ自体にラップすることができます。

于 2013-02-15T21:42:54.447 に答える
1

タスクの AsyncState メンバーは、ContinueWith で先行タスクとして参照されている場合でも、元のタスクに指定した状態の値である必要があります。これは .Net 4.0 で有効です。

Task.Factory
    .StartNew( state => ..., myState)
    .ContinueWith( task => task.AsyncState == myState);
于 2014-12-16T19:18:31.830 に答える