当前位置: 代码迷 >> ASP.NET >> this解决方法
  详细解决方案

this解决方法

热度:2502   发布时间:2013-02-25 00:00:00.0
this
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下。
  相关解决方案