C# 在C中动态创建一个类,然后基于它创建一个列表

C# 在C中动态创建一个类,然后基于它创建一个列表,c#,C#,我想在运行时创建一个类及其属性,这些属性将类似于Year2001、Year2002、Year2003、Year2004、Year2005。。。我在运行时获取这些属性名,然后将它们放入列表中。后来我需要使用这个类来创建一个列表,我需要在剑道网格中显示该列表。我浏览了很多次,并想过使用ExpandoObject,但没有成功。如果所有属性都是YearX格式,并且包含一些关于该年的信息或与该年相关的信息,然后,如果可能的话,我强烈建议您使用IList,其中YearInfo是包含您每年所需信息的某个对象,

我想在运行时创建一个类及其属性,这些属性将类似于Year2001、Year2002、Year2003、Year2004、Year2005。。。我在运行时获取这些属性名,然后将它们放入列表中。后来我需要使用这个类来创建一个列表,我需要在剑道网格中显示该列表。我浏览了很多次,并想过使用ExpandoObject,但没有成功。

如果所有属性都是YearX格式,并且包含一些关于该年的信息或与该年相关的信息,然后,如果可能的话,我强烈建议您使用IList,其中YearInfo是包含您每年所需信息的某个对象,包括一个整数属性,指示该对象对应的年份。如果您要求这些对象是唯一的,您可以使用IDictionary或ISet


反射可能很强大,但它是以复杂性和类型安全/编译时检查丢失为代价的。尽可能避免。

在我听来,您似乎真的想要一个支持分组的网格。让系统在运行时创建类的想法是行不通的。即使这是可能的,我对此表示怀疑,但这绝对是错误的做法


就像我说的-阅读一下网格控件上的分组/层次结构,也许还可以看看OLAP多维数据集…

虽然您已经有了一些答案,但我还想建议另一种方法,即使用数据表。当我有任何想要呈现给网格的动态数据集时,我会采用这种方法

这也是Telerik自己在代码示例中采用的方法

这里有几个链接向他们展示如何对数据表和动态对象执行此操作


就我个人而言,我发现与表的绑定更容易处理,因为我习惯于处理数据表

是否要在运行时创建类或对象?@msmolcic。。。我希望在运行时创建一个类。。。