問題タブ [continuewith]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
127 参照

c# - ジェネリック型が不明な Task の ContinueWith

Task<T>コンパイル時に T が不明な場所と.を取得するメソッドがありIAsyncDisposableます。Task<T>元のタスクが完了した後、使い捨てオブジェクトを自動的に破棄するを返す必要があります。

これは私がこれまでに思いついたものですが、コンパイル時にエラーをスローしています

エラー、私が得ているのは

非同期ラムダ式をデリゲート型 'Func<dynamic, dynamic>' に変換できません。非同期ラムダ式は、void、Task、または Task を返す場合がありますが、いずれも 'Func<dynamic, dynamic>' に変換できません。

dynamicと のさまざまな組み合わせを既に試しTaskましたが、実用的なソリューションを作成できませんでした。コンパイル エラーまたは実行時エラーが常に発生します。

編集

なぜ私がこのようにしているのか混乱しているように見えるので:

IAsyncQueryProviderこれをsExecuteAsyncメソッド内で使用しています。インターフェイスは、メソッド署名を次のように定義します

これに基づいてTResult、タイプIAsyncEnumerable<T>またはのいずれかであることがわかりますTask<T>。の場合を処理するコードを既に作成しましたが、 の場合IAsyncEnumerable<T>はまだ苦労していTask<T>ます。