2015-11-27 6 views
1

в (Катель) Применение WPF MVVM Я вызватьВызов Целевую, когда имущество было обновлено

Task<DateTime> GetDateFor(int portfolio, int currency); 

Прямо сейчас, что я делаю это

if (e.HasPropertyChanged(() => SelectedCross)) 
{ 
    using (StartInternalChange()) 
    { 
     await GetDateFor(1,2); 
    } 
} 

и, как Geert из Catel сказал мне, что это нехороший подход, и я согласен с вами в том, что выполнение async void не является хорошей практикой, учитывая тот факт, что я не хочу менять свою реализацию репозитория для синхронного обслуживания данных, что я могу сделать?

Заранее спасибо

ответ

2

Это может быть просто точка зрения, но на мой взгляд выполнения асинхронной пустоту или более точно асинхронной задачи в обработчики событий совершенно нормально, на самом деле:

Пустота возвращающих асинхронные методы имеют определенную цель: сделать асинхронные обработчики событий возможными.

По крайней мере, в соответствии с Stephen Cleary, вы можете прочитать об этом здесь: Async/Await - Best Practices in Asynchronous Programming