我正在尝试在我的代码中进行一些模拟,为此我想我会创建一个通用方法,我可以发送de desiered类型,我想要返回。 代码:
private List<T> setSimulation<T>(Simulation simutlation, List<T> data)
{
var model = (List<TrainAnnouncement>)data;
return data;
}
在某一点上,我需要在这个泛型方法中调用方法。 所有这些方法都返回特定类的List。我的想法是我可以简单地将数据转换为desiered列表并调用我的方法。
可悲的是,这不起作用,我想知道为什么?以及如何正确实现这一点?
答案 0 :(得分:6)
请改为:var model = data.Cast<TrainAnnoncement>().ToList();
以下是关于协方差和逆变的一些材料:https://blogs.msdn.microsoft.com/csharpfaq/2010/02/16/covariance-and-contravariance-faq/