3

我正在为 /base 编写一个 RestExtension。我有以下代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using umbraco.presentation.umbracobase;
using umbraco.NodeFactory;

namespace ElkeslasiBase
{
    [RestExtension("Collections")]
    public class Collection
    {
        [RestExtensionMethod()]
        public static string GetCollection(string collectionID)
        {
            var currentNode = Node.GetCurrent();
            var SelectedCollection = currentNode.ChildrenAsList.Where(elm => elm.Name == collectionID);
            return collectionID;
        }
    }
}

问题是编译器会为 lambda 表达式抛出错误。

Delegate 'System.Func<umbraco.interfaces.INode,int,bool>' does not take 1 argument

通过在 Google 中挖掘,我发现有几个人正在这样做。也许我缺少参考?或者也许是别的什么?

4

1 回答 1

2

我终于在某处找到了一个更新的示例。linq 代码应如下所示:

Node SelectedCollection = currentNode.Children.OfType<Node>().Where(elm => elm.Name == collectionID).SingleOrDefault();

那是我生命中的三个小时,我再也回不来了……

于 2012-09-10T04:46:56.953 回答