前端之家收集整理的这篇文章主要介绍了
c# – 从存储库向UI报告进度的好方法是什么,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在寻找一种关于如何干净地向UI层报告进度的好
方法,或者至少是一些见解.
我的情况如下:我在Infrastructure Layer中有一个与数据层通信的Repository.虽然这两个正在工作,但UI目前还不知道发生了什么,只是被动地等待结果(使用Observable)
我的第一个想法是公开UI绑定到的存储库中的事件.但我觉得这可能会变得非常混乱.我很想知道你们是如何解决这个问题的.
Uese要么是活动,要么是(裸)代表.
由于您可能有多个调用,因此委托参数可能是最佳的(不必从事件中取消注册).
// Repository
public delegate void ReportProgress(int percentage);
public IEnumerable<X> GetSomeRecords(...,ReportProgress reporter)
{
...;
if (reporter != null)
reporter(i * 100 / totalRecords);
}
原文链接:https://www.f2er.com/csharp/101006.html