私が働いていた、それ以下のコードを持っていますが、私はエラーを取得するコレクションをフィルタリングする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は()'どのような型を返すのですか?コンパイラのエラーは正しいです - 'オブジェクト'には 'Where'メソッドまたは拡張メソッドがありません。 'object'ではなく、適切なコレクション型を使う必要があります。 –
WCFでこのタグが付けられているのはなぜですか?それはWCFとは関係ありません。 – Tim
Tim。私はそれが私の変数名に基づいてWCFを提案したと私はちょうど細心の注意を払うことなく受け入れたと思う。 WCFを削除するタグを編集しました。 –