using System.Collections.Generic;
public static void Main()
Console.WriteLine("Hello World");
DataTableConverter<User>.ConvertToList(null, null);
public interface IModelMapper<T> where T : IModelMapper<T>
static abstract T Map(DataRow dr);
public class User : IModelMapper<User>
public string Id { get; set; }
public string Surname { get; set; }
public string Name { get; set; }
public static User Map(DataRow dr)
public class DataTableConverter<T> where T : IModelMapper<T>
public static List<T> ConvertToList(DataTable dt, Type type)
var results = new List<T>(dt.Rows.Count);
foreach (DataRow row in dt.Rows)