How to convert DataTable to C# List

Converting the DataTable type list of data into a Custom C# List

Solution

  public static List<T> GetFromDataTable<T>(DataTable dt)
  {
  List<T> obj = new List<T>();
  foreach (DataRow dr in dt.Rows)
  {
  T ob = GetObj<T>(dr);
  obj.Add(ob);
  }
  return obj;
  }
  private static T GetObj<T>(DataRow dr)
  {
  Type temp = typeof(T);
  T obj = Activator.CreateInstance<T>();

  foreach (DataColumn column in dr.Table.Columns)
  {
  foreach (PropertyInfo pro in temp.GetProperties())
  {
    if (pro.Name == column.ColumnName)
    pro.SetValue(obj, dr[column.ColumnName], null);
    else
    continue;
  }
  }
  return obj;
  }

 List<MyType> myList = new List<MyType>();
myList = CommonFunctions.ConvertDataTable<MyType>(dt); 

 

More Questions