加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 从存储库向UI报告进度的好方法是什么

发布时间:2020-12-15 08:10:45 所属栏目:百科 来源:网络整理
导读:我正在寻找一种关于如何干净地向UI层报告进度的好方法,或者至少是一些见解. 我的情况如下:我在Infrastructure Layer中有一个与数据层通信的Repository.虽然这两个正在工作,但UI目前还不知道发生了什么,只是被动地等待结果(使用Observable) 我的第一个想法是
我正在寻找一种关于如何干净地向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);  
  }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读