代码检查:声明的可空性已推断(参数被推断为非空)
此检查会报告经过控制流分析推断为永远不会为 null 的参数。 典型情况包括参数被立即解引用、通过 ArgumentNullException 进行校验,或在整个方法体中始终作为非空使用。 添加 [NotNull] 可让调用方和静态分析显式了解该约定。
示例
在此示例中, text 参数通过 ArgumentNullException 进行校验。 快速修复建议添加 [NotNull] 属性。
using System;
public class Parser
{
public void Parse(string text)
{
if (text == null)
throw new ArgumentNullException(nameof(text));
Console.WriteLine(text.Length);
}
}
using System;
using JetBrains.Annotations;
public class Parser
{
public void Parse([NotNull] string text)
{
if (text == null)
throw new ArgumentNullException(nameof(text));
Console.WriteLine(text.Length);
}
}
快速修复
为参数添加推断得到的可空性属性,通常为 [NotNull]。 对于类似容器的参数,快速修复可改为使用 [ItemNotNull]。
2026年 5月 8日