如何在以下方法中概括表达式y.Aaa == x.Aaa
?
void Delete<T>(List<T> db, List<T> n, Func<bool> cond) // typed cond
{
var deleted = db
.Where(x => !n.Any(y => y.Aaa == x.Aaa)) // Each T may have different property name?
.ToList();
//....
}
如果无法完成。 Delete(db, n, db => db.Aaa, n => n.Aaa)
怎么样?或者我必须做Delete(db, n, "Aaa")
答案 0 :(得分:1)
我想我会遵循你的意思。你想要一个通用的删除方法,比如......
Delete(db, n, (x, y) => y.Aaa == x.Aaa)
......我们称之为......
cond
这基本上使Any()
成为一个&#34;相等比较器&#34;我们可以在{{1}}。