1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
| using System;
| using System.Collections.Generic;
| using System.Data;
| using System.Reflection;
|
| namespace HMI.Base
| {
| public class DtConverter
| {
| public static void DoConvert<T>(DataTable dataTable, ICollection<T> target) where T : new()
| {
| var properties = typeof(T).GetProperties(BindingFlags.Public | BindingFlags.Instance);
|
| foreach (DataRow row in dataTable.Rows)
| {
| var item = new T();
| foreach (var property in properties)
| {
| if (dataTable.Columns.Contains(property.Name) && row[property.Name] != DBNull.Value)
| {
| property.SetValue(item, Convert.ChangeType(row[property.Name], property.PropertyType));
| }
| }
| target.Add(item);
| }
| }
| }
| }
|
|