如何将GenericList <t>转换为List <class>?

时间:2016-06-09 07:52:55

标签: c# asp.net-mvc generics asp.net-mvc-5

我正在尝试在我的代码中进行一些模拟,为此我想我会创建一个通用方法,我可以发送de desiered类型,我想要返回。 代码:

private List<T> setSimulation<T>(Simulation simutlation, List<T> data)
{
    var model = (List<TrainAnnouncement>)data;


    return data;
}

在某一点上,我需要在这个泛型方法中调用方法。 所有这些方法都返回特定类的List。我的想法是我可以简单地将数据转换为desiered列表并调用我的方法。

可悲的是,这不起作用,我想知道为什么?以及如何正确实现这一点?

1 个答案:

答案 0 :(得分:6)

请改为:var model = data.Cast<TrainAnnoncement>().ToList();

以下是关于协方差和逆变的一些材料:https://blogs.msdn.microsoft.com/csharpfaq/2010/02/16/covariance-and-contravariance-faq/