コードインスペクション:別の null 不可の基本型で制約された型パラメーターの基本型制約にある冗長な null 可能アノテーション
このインスペクションは、型制約に対して null 許容アノテーションが付与されていることを報告しますが、別の制約ではすでに型パラメーターが null 許容でないサブ型であることが要求されています。 このような状況では、制約に付与されている ? は矛盾しており、効果がありません。
サンプル
#nullable enable
using System;
class C
{
void M<T>() where T : notnull, IDisposable?
{
}
}
#nullable enable
using System;
class C
{
void M<T>() where T : notnull, IDisposable
{
}
}
クイックフィックス
この簡易修正では、型制約から冗長な null 許容型アノテーションを削除します。 別の簡易修正では、意図した汎用契約により合致する場合は、他の制約型を null 許容型としてアノテーションすることもできます。
2026 年 6 月 12 日