具有泛型类型的扩展方法

本文关键字:扩展 方法 泛型类型 | 更新日期: 2023-09-27 18:27:44

如何为泛型类型创建扩展方法?

以下代码返回错误

扩展方法只能在非泛型、非嵌套的静态类中声明

代码:

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

有没有进一步的实施使这项工作发挥作用?

具有泛型类型的扩展方法

直接在方法上指定泛型类型,并使类成为静态和非泛型的错误。

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

您应该监听错误消息,您需要在非泛型类中声明您的扩展方法。