我有以下方法,该方法最终将返回一些Task<IList<DataModel>>
,但现在仅返回null
。我想将此列表的结果加载到ViewModel的ObservableCollection中,然后显示在ListView中。
但是现在,我只想返回null并检查是否正确处理了它,因此ListView结果应该什么也不显示。我用这段代码来简化:
public async Task<IList<DatatModel>> GetData(string id)
{
return await Task.FromResult<IList<DataModel>>(null);
}
我调用上面的代码,并将遍历Task的结果并将其全部加载到ObservableCollection中,如下所示:
public void Initialize()
{
foreach (var data in GetData(Id).Result)
{
MyObservableCollection.Add(data);
}
}
但是,我的应用程序冻结了。我认为上述对GetData(id).Result的调用是有问题的,因为Result为null。
如果存在某些数据,如何循环访问这些数据并将其加载到我的ObservableCollection中?或者,如果没有返回数据,则不加载任何内容?答案 0 :(得分:0)
返回空的null
而不是返回List<DataModel>
。这样,您的Result
属性将始终被填充。因此,您的GetData方法将变为:
public async Task<IList<DatatModel>> GetData(string id)
{
return await Task.FromResult<IList<DataModel>>(new List<DataModel>());
}