Он реализует IEnumerable
, но не IEnumerable<T>
.
Это не значит, что вы не можете его использовать - это часть того, для чего OfType
и Cast
, для построения общей последовательности из неуниверсальной последовательности :
var filtered = items.Cast<RepeaterItem>()
.Where(...) // Or whatever
.ToList();
В этом случае Cast
более подходит, чем OfType
, так как вы должны быть уверены, что он будет содержать только значения RepeaterItem
. Обратите внимание, что Cast
- это то, что используется, если вы указали тип переменной диапазона в выражении запроса, поэтому это тоже будет работать:
var query = from RepeaterItem item in items
where item.ItemType == ListItemType.SelectedItem
select item.DataItem;