如何在C#4.0中使用协方差将IList转换为SomeObject实现ISomeInterface的IList

我有类似以下内容

IList<Items> GetItems;

IList<IItems> items = GetItems() as IList<IItems>;

但是item为null;

答案是4.0之前的版本:

Converting an array of type T to an array of type I where T implements I in C#

最佳答案

为什么不简单地使用

IList<Items> GetItems;
IList<IItems> items = GetItems().Cast<IItems>().ToList();

关于c#-4.0 - 如何将IList <SomeObject>转换为IList <ISomeInterface>,其中SomeObject在C#4.0中使用协方差实现ISomeInterface,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5602400/

10-12 21:43