我正在尝试创建一个通用缓存类,它将保存一个对象列表,
并将公开一个方法,该方法可以检查对象的实例是否已基于 Id 属性进行缓存:
public class CacheService<T> where T : BaseModel
{
private List<T> _data = new List<T>();
public void Check(T obj)
{
if (_data.Contains(r => r.Id.Equals(obj.Id))
{
//Do something
}
}
}
public class BaseModel
{
public int Id { get; set; }
}
我在Contains()
命令上收到编译器错误,说:
无法将 lambda 表达式转换为类型“T”,因为它不是委托类型
我怎样才能实现我的目标?