使用 ToList转换 Sitecore Item[] 时出现问题

发布于 2024-09-02 21:04:27 字数 755 浏览 5 评论 0原文

使用 Sitecore 和 Linq 扩展。

我正在尝试使用以下代码将项目数组转换为列表:

Item variationsFolder = masterDB.SelectSingleItem(VariationsFolderID.ToString());
List<Item> variationList = variationsFolder.GetChildren().ToList<Item>();

但是,每当我尝试构建时,我都会收到此错误

'Sitecore.Collections.ChildList' does not contain a definition for 'ToList' and the best extension method overload 'System.Linq.Enumerable.ToList<TSource>(System.Collections.Generic.IEnumerable<TSource>)' has some invalid arguments

:我有以下用途:

using System.Linq;
using System.Xml.Linq;

正在引用:

System.Core

我刚刚从另一个代码复制了此代码位置,所以它应该工作正常,只能认为有一些简单的东西(比如参考资料或我缺少的东西)。

Working with Sitecore and Linq extensions.

I am trying to convert to from an item array to the list using the following piece of code:

Item variationsFolder = masterDB.SelectSingleItem(VariationsFolderID.ToString());
List<Item> variationList = variationsFolder.GetChildren().ToList<Item>();

However I keep getting this error whenever I try to build:

'Sitecore.Collections.ChildList' does not contain a definition for 'ToList' and the best extension method overload 'System.Linq.Enumerable.ToList<TSource>(System.Collections.Generic.IEnumerable<TSource>)' has some invalid arguments

I have the following usings:

using System.Linq;
using System.Xml.Linq;

Am referencing:

System.Core

I've just copied this code from another location, so it should work fine, can only think that there is something simple (like a reference or something that I am missing).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

舞袖。长 2024-09-09 21:04:27

我没有任何使用 SiteCore 的经验,但是 ChildList 是否实现 IEnumerable 而不是 IEnumerable

如果是这样,请尝试以下操作:

List<Item> variationList = variationsFolder.GetChildren()
                                           .Cast<Item>()
                                           .ToList();

基本上 Cast 通过转换每个元素将 IEnumerable 转换为 IEnumerable

I don't have any experience with SiteCore, but does ChildList implement IEnumerable rather than IEnumerable<T> perhaps?

If so, try this:

List<Item> variationList = variationsFolder.GetChildren()
                                           .Cast<Item>()
                                           .ToList();

Basically Cast<T> converts an IEnumerable to IEnumerable<T> by casting each element.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文