假设我有以下代码:
public static void PrintFoo(int i)
{
switch (i)
{
case 0:
Console.WriteLine("bar!");
break;
case 1:
Console.WriteLine("baz!");
break;
default:
// do nothing
break;
}
}
我想在其中带有注释的“默认”开关大小写,因为它表明我故意不处理0和1以外的任何值。如果我忽略默认大小写,则不清楚是否要执行任何操作,或只是忘记了。确实,如果删除默认情况,则会从错误窗口中显示的“ IDE0010填充开关”中得到错误。
默认情况下,Resharper认为这是一个错误,因此我已关闭该检查(“ Resharper选项->检查严重性-> C#->代码中的冗余->冗余空开关部分”)。
我遇到的问题是,当我运行代码清理时,它将删除默认情况,包括注释。通常,我仍然希望代码清理可修复文件中的所有其他冗余,因此在代码清理配置文件中关闭“删除代码冗余”是不可行的。有没有办法避免不删除switch语句中的默认大小写?
编辑:似乎只有在代码清除窗口中选择“删除代码冗余”和任何“代码样式”的子级时,default
例才被删除。如果我取消选择所有代码样式项,则不会删除默认大小写,或者如果我取消选择代码冗余,则也不会删除它。看来我可能不得不将此作为Resharper的一个错误提出。
答案 0 :(得分:1)
所以我把这报告给了研究这个问题的喷气机。原来,“冗余空交换机部分”的设置存储在“团队共享”设置层中,并且代码清除使该设置从错误的层中拉出。
解决方案是转到Resharper->管理选项->双击“这台计算机”并在那里更改设置。
感谢Alexander Kurakin解决了这个问题。