インスタンスasync
を返すメソッドを呼び出す状況がありIDisposable
ます。例えば:
HttpResponseMessage response = await httpClient.GetAsync(new Uri("http://www.google.com"));
さて、以前async
はシーンでしたが、IDisposable
インスタンスを操作する場合、「応答」変数を使用したこの呼び出しとコードは、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;
}