首页 新闻 会员 周边

通过反射如何动态构建一个动态的类型,该类型包含字段,类型,以及类名

0
悬赏园豆:5 [已解决问题] 解决于 2015-05-20 15:12

如下:

DataTable dataTable = new DataTable();
dataTable.TableName = "Student";

DataColumn colName = new DataColumn();
colName.ColumnName = "Name";
colName.DataType = typeof(string);

DataColumn colAge = new DataColumn();
colAge.ColumnName = "Age";
colAge.DataType = typeof(Int32);

dataTable.Columns.Add(colName);
dataTable.Columns.Add(colAge);

DataRow dataRow1 = dataTable.NewRow();
dataRow1[0] = "张三";
dataRow1[1] = 23;
dataTable.Rows.Add(dataRow1);

DataRow dataRow2 = dataTable.NewRow();
dataRow2[0] = "李四";
dataRow2[1] = 26;
dataTable.Rows.Add(dataRow2);

 

我想根据这个DataTable 通过反射动态生成 一个class名字为student,有两个字段 Name,和Age.并把 DataTable 里面的数据存储到反射创建的这个类的集合里面。

想要飞的主页 想要飞 | 初学一级 | 园豆:11
提问于:2015-05-15 15:11
< >
分享
最佳答案
1

你想动态创建类?

还是想动态创建类的实例?

如果是一,那祝贺你,准备去BAT应聘100万以上年薪的职位吧。

如果是二,感觉你好像已经知道的样子,我就不说了。

收获园豆:5
爱编程的大叔 | 高人七级 |园豆:30839 | 2015-05-15 16:00

第二个确实知道,第一个难道就无解么?

我目前的水平只知道反射是要访问元数据,难道要要自己创建元数据;

想要飞 | 园豆:11 (初学一级) | 2015-05-15 16:02

@想要飞: 有解你想干啥?

你还是当OBJECT用啊,不如直接用Datatable了。

说说你的应用?

爱编程的大叔 | 园豆:30839 (高人七级) | 2015-05-15 16:05

@爱编程的大叔: 没有以前的一个面试题,就是添加一个扩展方法,扩展方法的作用是把一个DataTable转换为一个集合,我就寻思着是否能动态的创建一个类的实例,从一开始我就想错了。

想要飞 | 园豆:11 (初学一级) | 2015-05-15 16:07

@想要飞: 那就应该是Dynamic类型,或者泛型T的用法了。

爱编程的大叔 | 园豆:30839 (高人七级) | 2015-05-15 16:09

@爱编程的大叔: 是的,我现在在做。

想要飞 | 园豆:11 (初学一级) | 2015-05-15 16:11
其他回答(1)
0

动态生成一个类,你也没法用啊,还不如传递一个泛型T。

幻天芒 | 园豆:37175 (高人七级) | 2015-05-15 15:58

貌似是不行的,哎,这个反射是要访问元数据,刚看了一下,要自己创建元数据;

支持(0) 反对(0) 想要飞 | 园豆:11 (初学一级) | 2015-05-15 16:02

@想要飞: 难点在于动态创建类..

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2015-05-15 16:09
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册