/// <summary> /// 将Datatable转换为泛型列表对象 /// </summary> /// <typeparam name=T>泛型T的数据类型</typeparam> /// <param name=dataTable>待转换的DataTable对象</param> /// <returns>目标泛型列表对象</returns> protected List<T> DataTableToList<T>(DataTable dataTable) { List<T> list = new List<T>() Type targetType=typeof(T) PropertyInfo[] allPropertyArray = targetTypeGetProperties() foreach (DataRow rowElement in dataTableRows) { T element=ActivatorCreateInstance<T>() foreach (DataColumn columnElement in dataTableColumns) { foreach (PropertyInfo property in allPropertyArray) { if(propertyNameEquals(columnElementColumnName)) { if (rowElement[columnElementColumnName] == DBNullValue) { propertySetValue(element null null) } else { propertySetValue(element rowElement [columnElementColumnName] null) } } } } listAdd(element) } return list; } |