async
インスタンスを返すメソッドを呼び出している状況がありIDisposable
ます。例えば:
HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com"));
以前async
は、IDisposable
インスタンスを操作するときに、"response" 変数を使用したこの呼び出しとコードが using ステートメントでラップされていました。
async
私の質問は、キーワードがミックスにスローされた場合でも、それが正しいアプローチであるかどうかです。コードはコンパイルされますが、以下の両方の例で using ステートメントは期待どおりに機能しますか?
例 1
using(HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com")))
{
// Do something with the response
return true;
}
例 2
using(HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com")))
{
await this.responseLogger.LogResponseAsync(response);
return true;
}