Ich habe den Code, unter dem gearbeitet, aber wenn ich versuche, die Where
Klausel hinzufügen, um die Sammlung, die ich den Fehler zu filtern:Wie filtere ich eine generische Liste?
'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?)
Ich habe versucht, das Objekt zu OfType<Certification>
Gießen und das schlug fehl. Ich habe auch versucht, Casting zu IQueryable
und das mit einem ähnlichen Fehler fehlgeschlagen. Also überprüfte ich den Typ meiner Zertifizierungsvariablen und es ist "System.Collections.Generic.List``1[[GainesTrader_WCF.Certification, GainesTrader WCF,"
. Kannst du die Lösung dafür sehen?
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();
Welchen Typ gibt 'client.GetCertifications()' zurück? Der Compilerfehler ist korrekt - "Objekt" hat keine 'Where' Methode oder Erweiterungsmethode. Sie müssen den richtigen Sammlungstyp anstelle von "Objekt" verwenden. –
Warum ist dies mit WCF markiert? Es hat nichts mit WCF zu tun. – Tim
Tim. Ich denke, dass es WCF basierend auf meinem variablen Namen vorgeschlagen hat und ich akzeptierte nur, ohne genau darauf zu achten. Ich habe die Tags bearbeitet, um WCF zu entfernen. –