JetBrains Rider 2026.1 Help

コードインスペクション:階層内のアノテーションが競合する

このインスペクションは、基本メンバーから継承された契約と競合する null 許容性アノテーションを報告します。 これは通常、オーバーライド、実装、継承されたメンバーが、元の API とは異なる null 許容性を宣言していることを意味します。

サンプル

using JetBrains.Annotations; class BaseService { [NotNull] public virtual string GetName() => ""; } class DerivedService : BaseService { [CanBeNull] public override string GetName() => null; }
using JetBrains.Annotations; class BaseService { [NotNull] public virtual string GetName() => ""; } class DerivedService : BaseService { public override string GetName() => null; }

クイックフィックス

競合の原因が JetBrains null 可能性属性である場合、クイックフィックスでは競合する属性を削除します。 メンバーが本当に null を許可する必要がある場合は、1 箇所だけを上書きするのではなく、基本契約と階層全体を一貫して更新する必要があります。

2026 年 6 月 12 日