代码检查:声明的为 null 性已推断(参数被推断为可为 null)
此检查会报告被 控制流分析推断为可以为 null 的参数。 通常会在方法检查参数是否为 null 、使用条件访问,或以其他方式显式处理 null 情况时发生。 添加 [CanBeNull]会说明调用方可以传递 null。
示例
在本示例中, builder 参数配合条件访问(?. )使用。 快速修复建议添加 [CanBeNull] 特性。
using System.Text;
public class Formatter
{
public void WriteLine(StringBuilder builder)
{
builder?.AppendLine();
}
}
using System.Text;
using JetBrains.Annotations;
public class Formatter
{
public void WriteLine([CanBeNull] StringBuilder builder)
{
builder?.AppendLine();
}
}
快速修复
使用推断的为 null 性特性(通常为 [CanBeNull] )标注参数。 对于类似容器的参数,快速修复可以使用 [ItemCanBeNull]替代。
2026年 5月 8日