(async & await) で問題が発生している単純な Metro スタイル アプリがあります。
List<string> fileNames = new List<string>();
...
...
LoadList();
...
...
(Problem) Code that accesses the elements of the fileNames List
...
...
private async void LoadList()
{
// Code that loops through a directory and adds the
// file names to the fileNames List using GetFilesAsync()
}
問題は、fileNames リストが時期尚早にアクセスされることです - 項目が完全に読み込まれる前に。
これは非同期メソッドによるものです。非同期メソッドが処理を続行している間、プログラムは次のコード行に進みます。
リストが完全にロードされた後 (非同期メソッドが実行された後)、リストにアクセスするにはどうすればよいですか?
Metro アプリで async を使用せずに、私がやろうとしていることを達成する方法はありますか?