c# - 对 AggregateException Handle 方法的混淆

标签 c# lambda resharper task-parallel-library aggregateexception

ReSharper 向我发出 CoVariantConversion 警告,因此我决定用谷歌搜索并查看如何修复它。我遇到了这段代码:

 // ReSharper disable CoVariantArrayConversion
 try
 {
    Task.WaitAll(taskList.ToArray());
 }
 catch (AggregateException ex)
 {
    ex.Handle(e => true);
 }
 // ReSharper restore CoVariantArrayConversion

这部分让我感到困惑:

 ex.Handle(e => true);

它有什么作用?我认为它什么都不做。

最佳答案

你是对的:该行可以被删除并具有相同的效果(导致所有异常被视为“已处理”),就好像该行在那里一样。

它唯一有用的情况是 lambda 可以为某些异常返回 false(在这种情况下它不会)。

关于c# - 对 AggregateException Handle 方法的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18451193/

相关文章:

python - 用变音符号编码阿拉伯字母(如果存在)

resharper - 如何在 ReSharper 中添加自定义代码分析

c# - 当单击 visual studio 2015 Resharper 上的运行按钮时,我的代码发生了变化

c# - 如何估计 WinForms 中方法的结束时间以正确通知用户预计完成时间?

c# - 在不知道 typeof T 的情况下获取 Task<T> 的结果

c# - 使用 C# 以编程方式操作 PostBackUrl

java - 原始数组上的 Lambda

c# - 如何使用 C# 从 IoT 中心使用设备 ID 获取设备 key ?

recursion - F#中的递归lambda

c# - 如何使用 ReSharper SDK 创建 [CustomAttribute(typeof(GenericType<,>))]?