我有一个名为Myitem
的类和一个派生的List
类MyItemCollection
...
public class MyItemCollection : List<MyItem> { ... } public class MyItem { ... }
我想使用
FindAll
返回包含MyItemCollection
值子集的MyItem
类的新实例...
public MyItemCollection GetInUse() { return this.FindAll(x => x.InUse); }
但是,由于
FindAll
返回List<MyItem>
而不是MyItemCollection
,因此以上操作失败。
是否有可能获得.FindAll
以返回MyItemsCollection
对象,或使用MyItemsCollection
的返回值来初始化.FindAll
对象?
我可以执行以下操作,但有效,但是我想知道是否有更好的解决方案...
public MyItemCollection GetInUse(bool inUse)
{
var col = new MyItemsCollection();
foreach (var item in this.FindAll(x => x.InUse))
col.Add(item);
return col;
}
[我有一个名为Myitem的类和一个派生的List类MyItemCollection ... public类MyItemCollection:List
List<T>
具有使用IEnumerable<T>
参数的构造函数。您可以在类中公开类似的构造函数,然后执行以下操作: