public PagingSourceSelector(IPagingDataSource <TSource> source, Func <IEnumerable <TSource>, IEnumerable <TResult> > pageSelector) { if (source == null) { throw new ArgumentNullException("source"); } if (pageSelector == null) { throw new ArgumentNullException("pageSelector"); } _dataSource = source; _pageSelector = pageSelector; }
public PagingSourceSelector(IPagingDataSource <TSource> source, Func <TSource, TResult> selector) { if (source == null) { throw new ArgumentNullException("source"); } if (selector == null) { throw new ArgumentNullException("selector"); } _dataSource = source; _selector = selector; }
/// <summary> /// 对分页数据源中的每一页进行指定映射操作,得到一个新的分页数据源 /// </summary> /// <typeparam name="TSource">源分页数据类型</typeparam> /// <typeparam name="TResult">映射后的类型</typeparam> /// <param name="source">数据源</param> /// <param name="pageSelector">映射函数</param> /// <returns>执行映射操作后的分页数据</returns> public static IPagingDataSource <TResult> PageSelect <TSource, TResult>(this IPagingDataSource <TSource> source, Func <IEnumerable <TSource>, IEnumerable <TResult> > pageSelector) { return(new PagingSourceSelector <TSource, TResult>(source, pageSelector)); }
/// <summary> /// 对分页数据源中的每一项进行指定映射操作,得到一个新的分页数据源 /// </summary> /// <typeparam name="TSource">源分页数据类型</typeparam> /// <typeparam name="TResult">映射后的类型</typeparam> /// <param name="source">数据源</param> /// <param name="selector">映射函数</param> /// <returns>执行映射操作后的分页数据</returns> public static IPagingDataSource <TResult> Select <TSource, TResult>(this IPagingDataSource <TSource> source, Func <TSource, TResult> selector) { return(new PagingSourceSelector <TSource, TResult>(source, selector)); }