代码检查:在由非可空基类型约束的类型参数的 'class?' 约束上存在冗余的可空注解。
当另一个基类型约束已经保证类型参数为非可空时,此检查会报告对引用类型约束的可空注解。 在这种情况下, ? 对 class 约束来说是多余的或相互矛盾的。
#nullable enable
using System;
class C
{
void M<T>() where T : class?, IDisposable
{
}
}
#nullable enable
using System;
class C
{
void M<T>() where T : class, IDisposable
{
}
}
另一种快速修复是在更符合预期泛型契约时,将约束类型标注为可空。
2026年 5月 8日