我该如何解决这个问题:列表中的泛型类型?

时间:2017-11-06 09:08:56

标签: c#

我收到编译错误:

  

"类型或命名空间名称' T'找不到(你错过了使用指令或汇编引用吗?)
  错误3类型或命名空间名称' S'找不到(你错过了使用指令或汇编引用吗?)

以下是我的代码:

public static List<T> AutoCopyList(List<S> lst)
{
    List<T> ModelF = new List<T>();
    foreach (var item in lst)
    {
        var e = new T();
        e = Commn.AutoCopy<T, S>(item);
        ModelF.Add(e);
    }
    return ModelF;
}

1 个答案:

答案 0 :(得分:4)

您应该将您的方法标记为通用方法,并明确声明T应该具有公共无参数构造函数:

 public static List<T> AutoCopyList<S,T>(List<S> lst) where T : new()

有关新约束where T : new()的更多信息,请查看here