Can constructors be async?

后端 未结 12 1266
迷失自我
迷失自我 2020-11-22 09:18

I have a project where I\'m trying to populate some data in a constructor:

public class ViewModel
{
    public ObservableCollection Data { get;          


        
12条回答
  •  天涯浪人
    2020-11-22 09:37

    I would use something like this.

     public class MyViewModel
        {
                public MyDataTable Data { get; set; }
                public MyViewModel()
                   {
                       loadData(() => GetData());
                   }
                   private async void loadData(Func load)
                   {
                      try
                      {
                          MyDataTable = await Task.Run(load);
                      }
                      catch (Exception ex)
                      {
                           //log
                      }
                   }
                   private DataTable GetData()
                   {
                        DataTable data;
                        // get data and return
                        return data;
                   }
        }
    

    This is as close to I can get for constructors.

提交回复
热议问题