using System.Collections;
using System.Collections.Generic;
public static void Main()
Console.WriteLine("Hello World, {0}, {1}", 1, 2);
var dp = new DataProvider();
var pageDp = new DataProviderPaging();
IList records = pageDp.GetEvenNumbers();
foreach(var record in records)
Console.WriteLine("Record: {0}, Index: {1}", record, i++);
records = pageDp.GetEvenNumbers(11, 20);
foreach(var record in records)
Console.WriteLine("Record: {0}, Index: {1}", record, i++);
public class DataProvider
IList records = new List<int>();
private IList GenerateData()
for(var i=0; i < dataSize; i++)
public virtual List<int> GetEvenNumbers()
var evenNumbers = new List<int>();
foreach(int record in records)
public class DataProviderPaging : DataProvider
public DataProviderPaging() : base()
public List<int> GetEvenNumbers(int startIndex, int pageSize)
var evenNumbers = base.GetEvenNumbers();
List<int> records = evenNumbers.GetRange(startIndex, pageSize);