试试
var result = await AssignAsync<T>(key, async () => await _repository.FindAsync(id));谢谢,还是错误:无法将异步 lambda 表达式转换为委托类型:Func<T>
@嗷嗷嗷啊: 知道原因了,上面的写法针对的是 Func<Task<T>>,改为下面的试试
var result = await AssignAsync(key, () => _repository.Find(id));@dudu: 老大,这样和我发的问题中的一模一样。- -‘
@嗷嗷嗷啊: 这里是_repository.Find(id),不是_repository.FindAsync(id),如果你要用 _repository.FindAsync(id) ,需要修改 AssignAsync<T>:
public async Task<T> AssignAsync<T>(string key, Func<Task<T>> acquire) {}
var result = await AssignAsync<T>(key, async () => await _repository.FindAsync(id));