【问题标题】:Call a Task when a property has been updated更新属性时调用任务
【发布时间】:2015-11-27 13:10:05
【问题描述】:

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

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

我现在正在做的是

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

Catel 的 Geert 告诉我这不是一个好方法,我同意你的观点,考虑到我不希望更改我的存储库实现以同步提供数据我能做什么?

提前致谢

【问题讨论】:

    标签: c# wpf mvvm catel


    【解决方案1】:

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

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

    至少根据Stephen Cleary,您可以在此处阅读更多信息: Async/Await - Best Practices in Asynchronous Programming

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-24
      相关资源
      最近更新 更多