高手帮我解释一小段高难度代码,利用了反射和泛型技术

这段代码实现把DATATABLE转换为LIST,实体的功能,很好很强大,可是代码看不懂,想研究一下,哪位大侠能帮我解释一下,最好到每行代码,越详细越好,或者提一些关键的技术定义,我回去查查资料学习,谢谢。。

private List<T> TableToList<T>(T obj, DataTable tt)
        {
            System.Type type = obj.GetType();
            List<T> list = new List<T>();
            for (int i = 0; i < tt.Rows.Count; i++)
            {
                T item = (T)Activator.CreateInstance(type);

                object value;

                foreach (DataColumn c in tt.Columns)
                {
                    value = tt.Rows[i][c];
                    if (value != System.DBNull.Value)
                    {
                        type.GetProperty(c.ColumnName).SetValue(item, tt.Rows[i][c], null);
                    }
                }

                list.Add(item);
            }
            return list;
        }


桃花长相依
浏览 478回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP