У меня есть код, приведенный ниже, который работает, но когда я пытаюсь добавить пункт Where
для фильтрации коллекции я получаю ошибку:Как фильтровать общий список?
'object' does not contain a definition for 'Where' and no extension method 'Where' accepting a first argument of type 'object' could be found (are you missing a using directive or an assembly reference?)
Я попытался заливкой объект OfType<Certification>
и не удалось. Я также попробовал кастинг до IQueryable
, и это не удалось с аналогичной ошибкой. Поэтому я проверил тип моей переменной сертификатов, и это "System.Collections.Generic.List``1[[GainesTrader_WCF.Certification, GainesTrader WCF,"
. Вы видите решение этого?
GainesTrader_WCF.Service1 client = new GainesTrader_WCF.Service1();
object certifications = client.GetCertifications();
//var filtered = certifications.OfType<Certification>().Where(o => o.CertificationAcronym == "MCSD");
var filtered = certifications.Where(o => o.CertificationAcronym == "MCSD");
Certifications.DataSource = filtered;
Certifications.DataBind();
Какой тип 'client.GetCertifications()' return? Ошибка компилятора - 'object' не имеет метода' Where' или расширения. Вам нужно использовать правильный тип коллекции вместо 'object'. –
Почему это помечено WCF? Это не имеет никакого отношения к WCF. – Tim
Тим. Я думаю, что он предложил WCF на основе моего имени переменной, и я просто принял, не обращая пристального внимания. Я редактировал теги для удаления WCF. –