gpt4 book ai didi

C# - 将隐式类型转换为 ObservableCollection

转载 作者:太空狗 更新时间:2023-10-29 22:55:55 27 4
gpt4 key购买 nike

我有一个返回隐式类型的 LINQ 语句。我需要让这种类型成为我的 Silverlight 3 应用程序中的 ObservableCollection。 Silverlight 3 中的 ObservableCollection 构造函数只提供一个空的构造函数。因此,我不能直接将我的结果转换为 ObservableCollection。这是我的代码:

ObservableCollection<MyTasks> visibleTasks = e.Result;
var filteredResults = from visibleTask in visibleTasks
select visibleTask;

filteredResults = filteredResults.Where(p => p.DueDate == DateTime.Today);
visibleTasks = filteredResults.ToList(); // This throws a compile time error

我怎样才能从一个隐式类型的变量变成一个可观察的集合?

谢谢

最佳答案

您可以手动添加项目,如下所示:

visibleTasks = new ObservableCollection<MyTasks>();
foreach(var item in filteredResults)
visibleTasks.Add(item);

您可以使用以下扩展方法在一行中完成此操作:

///<summary>Adds zero or more items to a collection.</summary>
public static void AddRange<TItem, TElement>(this ICollection<TElement> collection, IEnumerable<TItem> items)
where TItem : TElement {
if (collection == null) throw new ArgumentNullException("collection");
if (items == null) throw new ArgumentNullException("items");

foreach (var item in items)
collection.Add(item);
}

visibleTasks = new ObservableCollection<MyTasks>();
visibleTasks.AddRange(filteredResults);

关于C# - 将隐式类型转换为 ObservableCollection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2351566/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com