这可能是我完全记错了,但我想知道更多关于我做错了什么......
我已经声明一个类只不过是从泛型列表的直接继承(这样做是为了简化命名),如下所示:
public class FooList : List<Foo> {}
现在在另一个与此类完全分开的方法中,我试图返回此类的一个实例,但是我想根据标准过滤该类,所以我使用的是 lambda 表达式:
var list = new FooList(); // imagine this fills it with different items
var filtered = list.FindAll(c => c.Something == "filter criteria");
现在根据 FindAll 方法,这应该返回一个 List[Foo]。但是,我想将此对象返回为 FooList,而不是 List[Foo]。我是否必须创建 FooList 的新实例并从 List[Foo] 中复制项目?
如果是这样,为什么?为什么我不能直接将 List 转换为 FooList,因为它们是同一个对象?
如果可以做到这一点,我该怎么做?
非常感谢!