更新属性后调用Task

本文关键字:Task 调用 属性 更新 | 更新日期: 2023-09-27 18:24:49

在WPF MVVM(Catel)应用程序中,我必须调用

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

现在我正在做的是

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

正如Catel的Geert告诉我的那样,这不是一个好方法,我同意你的观点,做异步void不是一个很好的做法,考虑到我不想改变我的存储库实现来同步提供数据,我能做什么?

提前感谢

更新属性后调用Task

这可能只是一个角度,但在我看来,在事件处理程序中执行异步void或更准确地说是异步Task是完全可以的,事实上:

Void返回的异步方法有一个特定的目的:使异步事件处理程序成为可能。

至少根据Stephen Cleary的说法,你可以在这里阅读更多关于它的信息:Async/Await-异步编程的最佳实践