пытаюсь разобраться с некоторыми асинхронными задачами
в целом вроде бы что-то начал понимать, однако столкнулся с проблемой совместить
(приложение под windows phone)

есть
class myClass
{
object myObject;

public object GetObject();
}

public object GetObject()
{
Webclient webclient = new webclient;
webclient.DownloadStringCompleted += new DownloadCompletedEventHandler ( DownloadComplete);
webclient.DownloadStringAsync(Uri);

return myObject;
}

private void DownloadComplete (Object sender, DownloadCompleteEventArgs e)
{
//получаем загруженную страницу
//парсим её
//получаем данные которые надо записать в Object и вернуть
}

проблема, собственно в одном:
return myObject; в GetObject должен делаться, конечно, после того как этот myObject заполнен данными после парсинга полученных данных

прикрутить beginInvoke / endInvoke к уже имеющимся асинхронным void DownloadStringAsync - не соображу как