コードインスペクション:null にできない型の種類を持つ型パラメーターの基本型制約での冗長な nullable アノテーション
インスペクションは、 クラス、 struct、 unmanaged や notnull などの別の制約によってすでに型パラメーターが 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 非許容型制約を削除することもできます。
2026 年 6 月 12 日