コードインスペクション:宣言の null 許容性が推測されました(パラメーターは null でないと推定されます)
このインスペクションは、制御フロー解析によって null になることが想定されていないと推測されるパラメーターを報告します。 典型的なケースとしては、すぐに参照解除されるパラメーター、 ArgumentNullException で検証されるパラメーター、またはメソッド本体全体で一貫して null 以外の値として使用されるパラメーターなどが挙げられます。 [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);
}
}
クイックフィックス
パラメーターに、推論された null 許容属性(通常は [NotNull] )をアノテーションとして付加します。 コンテナーのようなパラメーターの場合は、代わりに [ItemNotNull] を使用することもできます。
2026 年 6 月 12 日