运行时C#创建List <t>,其中T是未知的,例如List <o.gettype()>

时间:2018-10-03 14:29:00

标签: c# generics dynamic types

我有一种将DataTable映射到Class对象(即EntityTypes)的方法。

我想运行一些迭代foreach代码,例如myContext map(Table [xyz])中的foreach实体,但是我遇到了问题。

我需要能够执行类似List<GetMyEntityType>或类似的List<typeof(Get.MyEntity)>

我不是要创建对象的实例,而是要简单地将对象的TYPE用作我的“方法”和列表的Type T参数。

直到运行时,我才知道类型参数-我需要将发现的类型T传递给方法。我已经看了建议的链接-并且创建了一个Type T实例,我不需要它的实例,我需要将Type作为T参数传递给我的方法。

请参见下面的代码:

List<EntityType> ets = GetEntityFromContext(new WorkContext()); 

    foreach (EntityType myEntityType in ets)
    {

    DataNamesMapper<myEntityType> mapper = new DataNamesMapper<myEntityType>();

    List<myEntityType> Jobs = mapper.Map(ds.Tables["Job"]).ToList();

//..... other code

    }

0 个答案:

没有答案