private async void button1_Click(object sender, EventArgs e) { // awaitにより同期コンテキスト(SynchronizationContext.Current)が暗黙的に保存されます。 var data = await webClient.DownloadStringTaskAsync(uri); // ここに到達すると、保存された同期コンテキストが実行の再開に使用されます。 // そのため、何も記事せずUIオブジェクトを操作できます。 }