对于ReSharper 6.1,在C#交换机中没有缺少默认语句的内置检查项,但是自定义模式看起来通常很健壮.我已经搞砸了一些类似于if块的其他语句,但是我不确定如何检查缺少的默认值.
这是我到目前为止所拥有的:
搜索模式
switch($expr$)
{
case $val$:
$statement$
break;
$missingDefault$
}
Run Code Online (Sandbox Code Playgroud)
替换模式
switch($expr$)
{
case $val$:
$statement$
break;
default:
break;
}
Run Code Online (Sandbox Code Playgroud)
其中$ expr $是表达式,$ val是表达式,$ statement $是任意数量的语句,$ missingDefault $最多为0个语句.
这里的问题如下:
显然,这种搜索模式只匹配包含单个案例且没有默认值的事件,因此相对无用.我需要一个模式来匹配具有任意数量的案例的交换机,其中任何数量的案例可能包含或不包含中断(除了最后一种情况)并且可以包含任意数量的语句,并且没有默认值.
谢谢你的帮助.