c# - 无法将类转换为 ObservableCollection

标签 c# .net wpf observablecollection

我正在尝试转换我的类 AllStockObservableCollection<AllStock> stockList但我收到以下错误:

The best overloaded method match for 'System.Collections.ObjectModel.Collection.Add(Haze.AllStock)' has some invalid arguments

这是我的代码:

我创建我的 Observable 集合 -

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;

为什么会抛出这个错误?

最佳答案

您的 Linq 的 Select 方法返回一个 IEnumerable 但您的 stockList.Add 没有重载此数据类型(只有 AllStock)。

foreach(AllStock aStock in stock)
    stockList.Add(aStock)

应该可以。不幸的是,ObservableCollection 没有像 List<>

这样的 AddRange 方法

关于c# - 无法将类转换为 ObservableCollection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36908355/

相关文章:

c# - 如何使 HttpContext 在同步调用的任务中可用?

c# - 将 Mime 类型添加到虚拟目录

c# - 如何以编程方式设置系统音量?

c# - 检查文本框中输入的值是否为 WPF 中的双数

c# - 来自 TreeView 的 ContextMenu 绑定(bind)

C# for(;;) 循环和数组

c# - 无法将类型从 string 更改为 int?

c# - 必须在 cosmosdb 删除操作中为此操作提供 PartitionKey 值

WPF 设计渲染速度极慢 Visual Studio 2008?有没有可以加快速度的调整?

c# - 如何解码 RTP 数据包并将其保存为 .wav 文件