我有一个简单的接口来缓存这样的东西
public interface ICacheService
{
T Get<T>(string cacheId, Func<T> getItemCallback) where T : class;
}
这适用于简单的回调函数,但在我的情况下,我需要添加一些更复杂的东西。我认为这是一种匿名类型...
在控制器中,我正在注入一个运行查询的服务,如下所示:
this.queryContainer.Get<ObjectQuery>().Execute(new ObjectParameters(id));
但当然这不是 Func 类型,所以如果我尝试使用我的缓存服务,编译器会抱怨。
我需要什么样的接口才能让我的缓存工作?理想情况下,我想这样做:
this.cachingService.Get<ObjectResult>(id, this.queryContainer.Get<ObjectQuery>().Execute(new ObjectParameters(id)));
甚至可能吗?
任何帮助是极大的赞赏!
非常感谢