Как я могу сделать это?
это не, пойдите:
ObservableCollection obsCol = новый ObservableCollection (myIEnumerable);
сценарий:
var query = from c in customers
select new Customer()
{
Products = from p in products
where p.Id = c.Id
select p
};
Продуктами является ObservableCollection, таким образом, он не может взять IEnumerable, следуют из выбора выше...
Как бросить?
Вот так:
ObservableCollection obsCol = new ObservableCollection(myIEnumerable.ToList());
Обратите внимание, что экземпляр ObservableCollection
не будет отражать изменения в списке клиентов
.
EDIT : метод расширения Select возвращает экземпляр класса итератора, созданного компилятором. Поскольку этот класс не наследует ObservableCollection
, его невозможно привести к одному.