首页 > 解决方案 > 运行时 C# 创建列表其中 T 是未知的,如 List

问题描述

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

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

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

我不是想创建对象的实例,我只是想简单地使用对象的类型作为我的方法和列表的类型 T 参数。

直到运行时我才知道类型参数 - 我需要将发现的类型 T 传递到方法中。我查看了建议的链接——它创建了一个类型 T 的实例,我不需要它的实例我需要将类型作为 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

    }

标签: c#genericsdynamictypes

解决方案


推荐阅读