是否可以在运行中创建新类型(根据数据类型添加属性)?

时间:2010-10-14 11:04:28

标签: c#

我的应用程序读取Excel工作表并将其显示为表格。我所做的是读取DataTable并将数据放入类型为

的对象中
List<List<string>>

要在页面上显示数据,我使用2个循环(内部和外部)来重新创建表格。

我想要做的是创建一个新类型 MyType 。然后根据数量和值类型向Excel数据的标题添加属性。我相信使用类型更容易。

感谢您的帮助

3 个答案:

答案 0 :(得分:2)

我认为您可能正在寻找ExpandoObject,它允许您在运行时向每个对象添加任意属性。例如:

dynamic obj = new ExpandoObject();      // initially empty object
obj.Spread = "Nutella";   // obj now has a “Spread” property of type string

当然,您可以将此对象与所有其他对象一起放入List<dynamic>

答案 1 :(得分:1)

你可以用反射来做 看一下TypeBuilder班级

答案 2 :(得分:0)

也许是匿名类型?

http://msdn.microsoft.com/en-us/library/bb397696.aspx

需要一次性设置属性。