无法将Class转换为ObservableCollection

时间:2016-04-28 07:43:48

标签: c# .net wpf observablecollection

我正在尝试将我的课程AllStock转换为ObservableCollection<AllStock> stockList,但我收到以下错误:

  

'System.Collections.ObjectModel.Collection.Add(Haze.AllStock)'的最佳重载方法匹配有一些无效的参数

这是我的编码:

我创建了我的Observable Collection -

private ObservableCollection<AllStock> _stockList;
public ObservableCollection<AllStock> stockList
{
    get
    {
        if (_stockList == null)
            _stockList = new ObservableCollection<AllStock>();
        return _stockList;
    }
}

在我的方法中 -

var allStock = await service.GetSysproStockAsync();
var stock = allStock.Select(x =>
new AllStock
{
    Id = x.Id,
    ...
    MaterialThickness = x.MaterialThickness
});

stockList.Add(stock); //Error here - I want to add my 'var stock' to my ObservableCollection
dgSysproStock.ItemsSource = stockList;

为什么会抛出这个错误?

2 个答案:

答案 0 :(得分:4)

您的Linq的选择方法会返回 IEnumerable ,但 stockList.Add 对此数据类型没有重载(仅限 AllStock )。

{
  map: { 'ng2-file-upload': 'node_modules/ng2-file-upload' },
  packages: {
    'ng2-file-upload': {
      defaultExtension: 'js'
    },
    (...)
  }
}

应该有效。 ObservableCollection unfortunatley没有像 List&lt;&gt;

那样的 AddRange 方法

答案 1 :(得分:1)

ObservableCollection的Add()需要一个List,所以你需要提供一个List。