C# 在运行时创建动态类

C# 在运行时创建动态类,c#,reflection,dynamic,silverlight-4.0,dynamic-class-creation,C#,Reflection,Dynamic,Silverlight 4.0,Dynamic Class Creation,任何人都可以在运行时创建动态类。我有一个dictionary,它包含datatable的所有列及其数据类型。我的计划是基于dictionary创建一个动态类。表示datatable的列名是类的属性。创建列表后并绑定到网格 如果你有代码的话,这会很有帮助。Silverlight上的元编程相当有限,但这可能是你想要的。不过,一个更简单的选择是使用ExpandoObject和dynamic,但坦率地说,您也可以使用字典。我不确定我是否会为此费心费心去做元编程 如果您选择该路线,您可以通过以下方式获得新

任何人都可以在运行时创建动态类。我有一个
dictionary
,它包含datatable的所有列及其数据类型。我的计划是基于dictionary创建一个动态类。表示datatable的列名是类的属性。创建
列表后
并绑定到网格


如果你有代码的话,这会很有帮助。Silverlight上的元编程相当有限,但这可能是你想要的。不过,一个更简单的选择是使用
ExpandoObject
dynamic
,但坦率地说,您也可以使用字典。我不确定我是否会为此费心费心去做元编程

如果您选择该路线,您可以通过以下方式获得新的空列表:

IList list = (IList)Activator.CreateInstance(
       typeof(List<>).MakeGenericType(newType));
IList list=(IList)Activator.CreateInstance(
typeof(List).MakeGenericType(newType));

也许你应该准备好
ORMs
EntityFramework
nHibernate
之类的东西,因为它看起来像是你自己想做的。@Chirag我已经链接到MSDN;MSDN有一个完整的示例(对于Silverlight)。在运行时创建类型的代码是。。。不简短。