如何为泛型类型创建扩展方法?
以下代码返回错误
扩展方法只能在非通用的非嵌套静态类
中声明
代码:
public static class PagedList<T> where T : BaseEntity
{
public static IEnumerable<T> ToPagedList(this IEnumerable<T> source, int pageNumber = 0, int pageSize = 5)
{
return source.Skip(pageNumber * pageSize).Take(pageSize);
}
}
任何进一步的实现都可以使这个工作吗?
答案 0 :(得分:2)
直接在方法上指定泛型类型,并使类成为静态和非泛型的错误。
public static class PagedList
{
public static IEnumerable<T> ToPagedList<T>(this IEnumerable<T> source,
int pageNumber = 0, int pageSize = 5) where T : BaseEntity
{
return source.Skip(pageNumber * pageSize).Take(pageSize);
}
}
答案 1 :(得分:0)
您应该监听错误消息,您需要在非泛型类中声明扩展方法。