【发布时间】:2011-11-08 18:54:54
【问题描述】:
我有一个项目正在使用自定义类的通用列表。我有这个绑定到一个网格,我正在尝试对其进行排序。 (正在工作)。
我想清理我的代码,这样我就不必检查“asc”和“desc”,然后调用 Orderby 或 OrderByDescending。我宁愿在函数的 to 处设置一个委托方法,然后调用 OrderMethod,它已经设置为正确的 OrderBy... 方法。
我似乎无法让它工作。
这是我创建的委托。 (该类称为“FollowingInfo”)。
private delegate IOrderedEnumerable<FollowingInfo> OrderMethodDelegate<TSource, TKey>(IEnumerable<FollowingInfo> source, Func<FollowingInfo, string> keySelector);
我正在尝试这样设置。
OrderMethodDelegate OrderMethod = FollowList.OrderBy;
但它不起作用...在此示例中,FollowList 的类型为 List(FollowingInfo)。
OrderBy 方法是泛型列表类的扩展方法,在 Enumerable 中定义。
public static IOrderedEnumerable<TSource> OrderBy<TSource, TKey>(this IEnumerable<TSource> source, Func<TSource, TKey> keySelector);
对我哪里出错有任何想法吗?
【问题讨论】:
标签: c# .net linq generics delegates