public static PagedList<T> ToPagedList<T>
(
this IQueryable<T> allItems,
int pageIndex,
int pageSize
)
这种表示结构,该怎么解释,为什么把this IQueryable<T> allItems 写到参数里边?? 我知道 使用的时候可以 IQueryable<T>对象.ToPagedList(pageIndex,pageSize)
- C# code
public static class PageLinqExtensions { public static PagedList<T> ToPagedList<T> ( this IQueryable<T> allItems, int pageIndex, int pageSize ) { if (pageIndex < 1) pageIndex = 1; var itemIndex = (pageIndex-1) * pageSize; var pageOfItems = allItems.Skip(itemIndex).Take(pageSize); var totalItemCount = allItems.Count(); return new PagedList<T>(pageOfItems, pageIndex, pageSize, totalItemCount); } }
------解决方案--------------------------------------------------------
这个叫“扩展方法”,C# 3.0新增语法,具体什么是扩展方法,可以自己MSDN下。