问题是如何动态地向动态创建的对象添加属性和值
之前曾问过
我想动态地向对象添加多个字段,我正在使用 下面的代码,但每个循环删除前一个并添加 最新的,但我希望对象保留所有值。
SqlDataReader sdr = cmd.ExecuteReader(); var columns = Enumerable.Range(0, sdr.FieldCount).Select(sdr.GetName).ToList(); if (sdr.HasRows) { allRows = new ArrayList(); while (sdr.Read()) { dynamic obj = new ExpandoObject(); foreach (string item in columns) { obj.item = sdr[item]; } allRows.Add(obj); } }
答案 0 :(得分:1)
您必须使用反射在运行时将成员添加到您的ojbect或Have a look at this
答案 1 :(得分:1)
DataTable
正是您正在寻找的。不使用基元执行此类常见任务,而是使用内置的DataAdapter
在一个函数调用中从数据库中获取所有值。即使您正在寻找命名属性成员,强类型DataSets
也会为您解决此问题。