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

前端之家收集整理的这篇文章主要介绍了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);  
  }@H_301_13@

猜你在找的C#相关文章