【问题标题】:List with class created in reflection [duplicate]具有在反射中创建的类的列表[重复]
【发布时间】:2017-08-22 01:26:42
【问题描述】:

我在运行时使用反射创建了一个类。我需要创建一个我的反射类型的 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”。我需要创建 List 的 ReportRecord 集合。

【问题讨论】:

    标签: c# system.reflection


    【解决方案1】:
    var listType = typeof(List<>).MakeGenericType(TP);
    var list = (IList)Activator.CreateInstance(listType);
    

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

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

    【讨论】:

    • 你太快了 ;-)
    • MyClassBuilder MCB = new MyClassBuilder("ReportRecord"); var myclass= MCB.CreateMyProperty(myTable.Columns);类型 TP = myclass.GetType(); var myObject = Activator.CreateInstance(TP); List ccc = new List();我需要列表。动态在我的情况下不起作用。
    • @user3771120 呃 - 这不是已经在问题中了吗?
    猜你喜欢
    • 1970-01-01
    • 2021-12-11
    • 2019-08-30
    • 2022-07-04
    • 2021-02-27
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 2020-12-06
    相关资源
    最近更新 更多