列表与反射中创建的类

时间:2017-03-28 19:48:07

标签: c# system.reflection

我在运行时使用反射创建了一个类。我需要创建一个反射类型的List集合。怎么做 ?

MyClassBuilder MCB = new MyClassBuilder("ReportRecord");
var myclass = MCB.CreateMyProperty(myTable.Columns);
Type TP = myclass.GetType();
var myObject = Activator.CreateInstance(TP);
List<dynamic> ccc = new List<dynamic>();

在上面的代码中,我创建了一个类“ReportRecord”。我需要创建ListRecord的集合。

1 个答案:

答案 0 :(得分:3)

var listType = typeof(List<>).MakeGenericType(TP);
var list = (IList)Activator.CreateInstance(listType);

但请注意,这不是List<dynamic>;这不是“差异”的工作方式。但是,您可以将单个元素视为dynamic,如果它适合您:

foreach(dynamic item in list) {...}