«ожидание» не ждет завершения вызова [дубликат]C#

Место общения программистов C#
Anonymous
«ожидание» не ждет завершения вызова [дубликат]

Сообщение Anonymous »

Я создаю приложение Metro.
В файле MainPage.xaml.cs я создаю экземпляр альбома следующим образом:

Код: Выделить всё

Album album = new Album(2012);  //With the album ID as its parameter.
ListView1.ItemsSource = album.Songs;
В Album.cs конструктор выглядит следующим образом:

Код: Выделить всё

public Album(int ID)
{
this.ID = ID;
Initialize();  //Serves as a wrapper because I have to call httpClient.GetStreamAsync() and "async" doesn't work for the constructor.
}
Наконец, метод Initialize:

Код: Выделить всё

private async void Initialize()
{
//...some code...
HttpClient cli = new HttpClient();
Stream SourceStream = await HttpClient.GetStreamAsync("http://contoso.com");
//...some code...
this.Songs = Parse(SourceStream);
}
Проблема в том, что когда он запускается в GetStreamAsync, он затем переходит к ListView1.ItemsSource = album.Songs непосредственно с значением album.Songs null.
Есть ли быстрое решение этой проблемы?

Подробнее здесь: https://stackoverflow.com/questions/122 ... on-of-call

Вернуться в «C#»