我创建了一个小的测试类,它从xml文件返回数据。Linq使用谓词不起作用
我现在想使它更加动态使用LINQ,但无法让它工作。
public class LenderCollection
{
string fileName = "C:\\Lenders.xml";
public IEnumerable<Lender> Lenders { get; set; }
public void FetchLenders(Expression<Func<Lender, bool>> predicate = null)
{
IEnumerable<Lender> lenders = XmlHelper.GetObjectFromXml<List<Lender>>(fileName, "AllLenders");
Lenders = predicate.IsNotNull() ? lenders.Where(predicate) : lenders;
}
}
Visual Studio是给了一个错误上的“lenders.Where(谓语)” - 该消息是“......不包含在哪里定义...”
任何想法我做错了?
* UPDATE *
这似乎是与谓词 - 。哪里是avaialable否则。
在您的文件顶部添加'使用System.Linq;'和'使用System.Linq.Expressions;' – Andomar 2013-04-29 09:37:06
@Andomar - 已经包含 – dotnetnoob 2013-04-29 09:43:04
顺便说一句,您应该始终发布整个异常消息。虽然有时候很长很难阅读,但它可能已经包含了解决问题的方法。 – sloth 2013-04-29 09:48:58