C# C.NET内核中的谓词
我还是.NET和.NET核心的初学者。我不确定谓词的语法在.NETCore中是如何工作的C# C.NET内核中的谓词,c#,.net,asp.net-core,predicate,C#,.net,Asp.net Core,Predicate,我还是.NET和.NET核心的初学者。我不确定谓词的语法在.NETCore中是如何工作的 [HttpGet] public async Task<IEnumerable<TodoItem>> GetAllAsync() { var items = await DocumentDBRepository<TodoItem>.GetItemsAsync(t => t.IsComplete); return i
[HttpGet]
public async Task<IEnumerable<TodoItem>> GetAllAsync()
{
var items = await DocumentDBRepository<TodoItem>.GetItemsAsync(t => t.IsComplete);
return items;
}
上面代码中的GetItemsAsync在.NET核心框架中有红色下划线,但在.NET框架中没有
GetItemAsync的签名为:
public static async Task<IEnumerable<T>> GetItemsAsync(Expression<Func<T, bool>> predicate)
错误消息是
> "The call is ambiguous between the following methods or properties:
> "DocumentDBRepository<T>.GetItemsAsync(Expression<Func<T, bool>>)" and
> "DocumentDBRepository<T>.GetItemsAsync(Func<TodoItem, body>)"
有人能解释一下原因吗 类中还有另一个GetItemsAssyncFunc。两个函数都有不同的参数。在我注释了这个函数getItemsAssyncFunc之后,它就工作了
谢谢@NetMage如果你试图构建它,会出现什么错误?@zaitsman刚刚补充说,这里必须定义另一个getItemsAsSyncFunc。@NetMage啊,我的错。谢谢如果你已经知道答案,就发布并接受它。