有没有办法将方法作为参数传递给函数,然后通过 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
委托类型,但是当我将它作为参数传递时,排序方法会报错。任何人都可以就如何做到这一点提出建议吗?
谢谢