C# 类型未知的IEnumerable

C# 类型未知的IEnumerable,c#,C#,我有一个mapping类,其中包含自定义对象的映射: public class MappingType { public Type source {get;set;} public Type dest {get;set;} } 为什么我不能使用它们,因为下面的mappinglist是MappingType的对象 我有什么选择?如何在这样的上下文中使用它?C泛型系统适用于编译时已知的类型。不能提供仅在运行时作为类型参数已知的类型 此外,正如@JonSkeet指出的,只接受一个类型

我有一个mapping类,其中包含自定义对象的映射:

public class MappingType
{
    public Type source {get;set;}
    public Type dest {get;set;}
}
为什么我不能使用它们,因为下面的mappinglist是MappingType的对象


我有什么选择?如何在这样的上下文中使用它?

C泛型系统适用于编译时已知的类型。不能提供仅在运行时作为类型参数已知的类型

此外,正如@JonSkeet指出的,只接受一个类型参数

如果您的类型在公共共享基类、共享接口中有任何内容,那么您可以将该内容与泛型一起使用,例如

IEnumerable<ISomeSharedInterface> customList;

如果它们没有共同点,您仍然可以使用非泛型。

首先,IEnumerable只有一个类型参数……您正在尝试使用变量值,与其使用类型,不如使用类型。IEnumerable为什么不使用此选项?@btevfik:我猜他试图枚举源列表以构建/更新目标列表,并希望为这些操作使用强类型构造。假设您有两种类型a和B,如果您试图从类型a的列表创建新的类型B列表,您可以使用AutoMapper。谢谢,我不知道IEnumberable只能在编译时与已知类型一起使用。
IEnumerable<ISomeSharedInterface> customList;