【发布时间】:2016-10-17 05:31:35
【问题描述】:
如何使 Predicate 从异步方法 C# 返回 bool 值
private void OnFilterTextBoxTextChangedHandler(object oSender, TextChangedEventArgs oArgs)
{
//Other operations
_oCollectionView.Filter = new Predicate<object>(DoFilter); //wrong return type
}
返回方式
private async Task<bool> DoFilter(object oObject)
{
if (_sFilterText == "")
{
return true;
}
return false;
}
【问题讨论】:
-
您的
DoFilter不是async方法。它缺少await。 -
即使DoFilter方法中有await,DoFilter方法也没有被等待iteslf,所以返回类型仍然是Task
对吧? -
@DovydasSopa 即使我让它等待它也不能解决我的问题。
-
@MaxHampton 是的,它仍然是任务
-
@user6384353 我只是说这段代码不正确。这是你的完整代码吗?如果是这样,为什么需要
oObject作为参数?如果没有,也许你想分享你的完整代码?
标签: c# .net async-await predicate