将列表报告给异步方法

时间:2016-07-21 14:44:46

标签: c# async-await observablecollection


如何将查询的进度作为列表报告给主线程

 async private void getProductData()
    {
        Progress<List<string>> progress = new Progress<List<string>>(
                data => _prc.Add(new ProductList() {
                    Name  = data[1],
                    Delay = data[2],
                    Taxe  = data[3],
                }));
        await Task.Run(() => getTableDataFromDb(progress, "FOE_Diesel_High_CB"));

    }
  private void getTableDataFromDb(IProgress<List<string>> progress, string tabelName)
    {
          //Query logic her and report back the progress
           while (reader.Read())
           {
              progress.Report(??);
           }
    }

当我尝试报告字符串List&lt; \ string&gt;的列表时或者字符串数组字符串[],我的网格上显示的数据总是相同的值,我的应用程序变得非常慢 但是当我尝试报告单个字符串时,它可以正常工作 感谢

0 个答案:

没有答案