ReSharper 2026.1 Help

代码检查:对于已由另一个非可空基类型约束的类型参数,其基类型约束上的可空注解是多余的。

当另一个约束已经要求类型参数为非可空子类型时,此检查会报告类型约束上的可空注解。 在这种情况下,约束上的 ? 是矛盾且无效的。

示例

#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 { } }

快速修复

快速修复会从类型约束中移除多余的可空注解。 另一种快速修复可以将其他约束类型标注为可空,以更符合预期的泛型契约。

2026年 5月 8日