簡體   English   中英

屬性更新后調用任務

[英]Call a Task when a property has been updated

在WPF MVVM(Catel)應用程序中,我必須將

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

現在我正在做的是

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

正如Catel的Geert告訴我的那樣,這不是一個好方法,並且我也同意您的觀點,認為異步無效不是一個好習慣,考慮到我不希望更改存儲庫實現以同步提供數據的做法,我該怎么辦?

提前致謝

這可能只是一個觀點,但我認為在事件處理程序中執行異步void或更准確地說是異步Task完全可以,實際上:

返回無效的異步方法有一個特定目的:使異步事件處理程序成為可能。

至少根據Stephen Cleary的說法,您可以在這里了解更多信息: Async / Await-異步編程最佳實踐

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM