将缺失的事例添加到 switch 表达式 (IDE0072)
属性 | 值 |
---|---|
规则 ID | IDE0072 |
标题 | 将缺失的事例添加到 switch 表达式 |
类别 | Style |
Subcategory | 语言规则(表达式级首选项) |
适用的语言 | C# 8.0+ |
概述
此规则涉及为 switch 表达式指定所有缺失的事例。 在以下情况下,switch 表达式被视为不完整,有缺失事例:
- 当 enum switch 表达式缺失一个或多个枚举成员的事例时。
- 当缺失失败事例
_
时。
选项
此规则没有关联的代码样式选项。
示例
enum E
{
A,
B
}
class C
{
// Code with violations
int M(E e)
{
// IDE0072: Add missing cases
return e switch
{
E.A => 0,
_ => -1,
};
}
// Fixed code
int M(E e)
{
return e switch
{
E.A => 0,
E.B => 1,
_ => -1,
};
}
}
抑制警告
如果只想抑制单个冲突,请将预处理器指令添加到源文件以禁用该规则,然后重新启用该规则。
#pragma warning disable IDE0072
// The code that's violating the rule is on this line.
#pragma warning restore IDE0072
若要对文件、文件夹或项目禁用该规则,请在配置文件中将其严重性设置为 none
。
[*.{cs,vb}]
dotnet_diagnostic.IDE0072.severity = none
若要禁用所有代码样式规则,请在配置文件中将类别 Style
的严重性设置为 none
。
[*.{cs,vb}]
dotnet_analyzer_diagnostic.category-Style.severity = none
有关详细信息,请参阅如何禁止显示代码分析警告。