Ответ 1
Он реализует 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;