gpt4 book ai didi

c# - 任务并行库的 Resharper false 可能出现 nullReferenceException 警告

转载 作者:行者123 更新时间:2023-11-30 14:35:58 25 4
gpt4 key购买 nike

考虑这个例子

var task =Task.Factory.StartNew(()=>Console.WriteLine("test"));

task.ContinueWith(antecendent =>
{
ExceptionProcessor.HandleError(task.Exception.Flatten());
}, TaskContinuationOptions.OnlyOnFaulted);

在此示例中,resharper 预测 task.Exception.Flatten() 中可能存在空指针异常,因为它假定 task.Exception 可能为 null。

但对于所有现实场景,它不会为 null,因为参数 TaskContinuationOptions.OnlyOnFaulted 确保仅在发生异常时调用该方法。

那么我该如何告诉 Resharper 忽略所有类似的警告呢?

最佳答案

我想你有几个选择:

  1. 在这种情况下忽略警告。
  2. 将所有“Posible NullReferenceException”的严重性降低到 Hint 之类的级别,甚至不显示。
  3. 通过评论禁用此警告实例。
  4. 假设 ReSharper 是正确的并添加 null 检查。

我不喜欢 #4,你会降低代码的可读性,只是为了让 ReSharper 满意。我也不喜欢#3,它可能会用这些注释污染你的代码。 #2 更好,但我认为 #1 是最好的选择:“Posible NullReferenceException”将始终有误报,因此您应该将其用作指导:“这里要小心,某些事情可能是错误的”,而不是严格的“你必须解决这个问题”。

关于c# - 任务并行库的 Resharper false 可能出现 nullReferenceException 警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11160900/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com