以下のようなクラス定義があります。
class TypeA{ Task<TypeA> OpenFile() } class TypeB{ Task<String> ReadAsText(); }
Task<TypeA>の変数に対して、ContinueWithの中でReadAsText()でStringを取得するにはどうしたらよいでしょうか。
以下のように書ける事をイメージしていたのですが、この書き方だと変数taskの型がTask<Task<String>> となってしまいました。
var hensu = new TypeA(); var task = hensu.OpenFile().ContinueWith(async task1=>{ var result = await task1.Result.ReadAsText(); return result; }); (taskはTask<String>となる事を希望)
以下のように書けばresultの中にstringが取れますが、これだと2行目と3行目で二回 処理がUIスレッドに戻ってしまうので避けたいです。
var hensu = new TypeA(); var task = await hensu.OpenFile(); var result = await task.ReadAsText();
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。