C# 是否可以动态创建新类型(根据数据类型添加属性)?

C# 是否可以动态创建新类型(根据数据类型添加属性)?,c#,C#,我的应用程序读取Excel表格并将其显示为表格。我要做的是读取DataTable并将数据放入以下类型的对象中: List<List<string>> 列表 为了在页面上显示数据,我使用了两个循环(内部和外部)来重新创建表 例如,我想做的是创建一个新类型MyType。然后根据Excel数据标题的数字和值类型向其添加属性。我相信和类型打交道更容易 感谢您的帮助您可以使用反射来完成。 看看类可能是匿名类型 不过,您确实需要一次性设置所有属性。我想您可能正在寻找,它允许您在

我的应用程序读取Excel表格并将其显示为表格。我要做的是读取DataTable并将数据放入以下类型的对象中:

List<List<string>>
列表
为了在页面上显示数据,我使用了两个循环(内部和外部)来重新创建表

例如,我想做的是创建一个新类型MyType。然后根据Excel数据标题的数字和值类型向其添加属性。我相信和类型打交道更容易


感谢您的帮助

您可以使用反射来完成。

看看类

可能是匿名类型


不过,您确实需要一次性设置所有属性。

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

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

当然,您可以将此对象与所有其他对象一起放入
列表中。

我认为这些属性只在运行时才知道。相关但不相同:@Hans Kesting:是的,这或多或少是我想要的。但是,代码太多了。