2012-09-09 69 views
3

我正在爲/ base編寫一個RestExtension。 我有以下代碼:Umbraco的擴展/基地

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; 
     } 
    } 
} 

的問題是,編譯器會引發出爲λ表達式錯誤。

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

從谷歌周圍挖掘,我發現了幾個人正是這樣做。也許我錯過了一個參考?或者也許別的東西?

回答

2

我終於找到了一個更新的例子。 LINQ的代碼應該是這樣的:

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

這是3小時我的生活,我永遠不會回來......

+0

做得好!你應該將自己的答案標記爲解決方案 – Jonathan