У меня есть класс с именем 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;
}