Бросок IEnumerable <T> к ObservableCollection <T> без инжекции конструктора IEnumerable <T>

Как я могу сделать это?

это не, пойдите:

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, следуют из выбора выше...

Как бросить?

1
задан msfanboy 18 July 2010 в 18:13
поделиться

1 ответ

Вот так:

ObservableCollection obsCol = new ObservableCollection(myIEnumerable.ToList());

Обратите внимание, что экземпляр ObservableCollection не будет отражать изменения в списке клиентов .

EDIT : метод расширения Select возвращает экземпляр класса итератора, созданного компилятором. Поскольку этот класс не наследует ObservableCollection , его невозможно привести к одному.

2
ответ дан 2 September 2019 в 22:57
поделиться
Другие вопросы по тегам:

Похожие вопросы: