【发布时间】:2009-05-07 16:52:59
【问题描述】:
我正在按照 Rob Connery 的店面视频系列开发这个 mvc 项目并应用这些技术。 关于过滤和扩展方法,我开始重复自己很多,例如:
public static Sponsor WithID(this IQueryable<Sponsor>qry, int ID)
{
return qry.SingleOrDefault(s => s.ID== ID);
}
public static Keyword WithID(this IQueryable<Keyword>qry,int ID)
{
return qry.SingleOrDefault(s => s.ID== ID);
}
....
为了防止这种情况,我尝试编写这样的通用扩展:
public static T WithID<T>(this IQueryable<T>qry,int ID)
{
return qry.SingleOrDefault(s=>ID==ID);
}
然而 s 没有 ID,那么你将如何解决这个问题?
【问题讨论】: