| 资产 | 价值 |
|---|---|
| 规则 ID | IDE0370 |
| 标题 | 删除不必要的抑制 |
| 类别 | Style |
| 子类别 | 不必要的代码规则(抑制首选项) |
| 适用的语言 | C# |
| Options | None |
概述
此规则使用 空引用宽容运算符 (!) 标识不必要的可为 null 警告抑制。 null forgiving 运算符告知编译器该值不为 null,这将禁止显示可为 null 引用类型的警告。 但是,当编译器已经确定值不为 null 时,不必要且可以删除 null 放弃运算符。
Example
// Code with violations.
#nullable enable
void ProcessValue()
{
List<string> names = new()!;
}
// Fixed code.
#nullable enable
void ProcessValue()
{
List<string> names = new(); // No suppression needed.
}
禁止显示警告
如果只想取消单个冲突,请将预处理器指令添加到源文件以禁用,然后重新启用规则。
#pragma warning disable IDE0370
// The code that's violating the rule is on this line.
#pragma warning restore IDE0370
若要禁用文件、文件夹或项目的规则,请在none中将其严重性设置为。
[*.{cs,vb}]
dotnet_diagnostic.IDE0370.severity = none
若要禁用所有代码样式规则,请将类别 Style 的严重性设置为 none中的 。
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
有关详细信息,请参阅 如何禁止显示代码分析警告。