是否有方法將方法作爲參數傳遞給函數,然後通過list.Sort()調用它?我試過這個:將方法作爲參數傳遞給函數
public static string BuildHumanSitemap(Func<TreeNode, TreeNode, int> sortMethod, params string[] classNames)
{
//calling list sort on method passed as parameter
nodes.sort(sortMethod);
}
在我想要傳遞的函數都採用相同的參數例如
private static int SortByDateCreated(TreeNode x, TreeNode y)
{
DateTime xT = (DateTime)x["DocumentCreatedWhen"];
DateTime yT = (DateTime)y["DocumentCreatedWhen"];
return xT.CompareTo(yT);
}
我使用Action
委託類型,但排序方法也試過當我把它作爲一個參數抱怨。任何人都可以提供關於如何做到這一點的建議?
三江源
你能告訴我們你試過了什麼嗎?另外,你說當你使用Action時,排序方法會抱怨,你能否發佈錯誤信息? – Jetti
節點類型是什麼?更具體地說,「排序」方法的簽名是什麼? –
如果您在討論'List .Sort',該方法不會提供一個需要委託的重載。 –