Task HogehogeAsync()みたいなメソッドがあるとします。 そのメソッドをTask FugafugaAsync()で呼ぶときに、単発で呼ぶだけならそのままreturnしてしまいますよね。
async FugafugaAsync()
{
return HogehogeAsync();
}
こんなノリで以下のようなメソッドでやらかしてしまいました。
async FugafugaAsync() { IsProcessing = true; try { return HogehogeAsync(); } finally { this.IsProcessing = false; } }
これはawaitしないと一瞬でメソッドを抜けてしまうのでIsProcessingが一瞬でtrue→falseになってしまいます。 暫く悩みました。