用于在switch语句中报告缺失案例的工具或编译器标志

时间:2014-05-18 08:35:22

标签: c# .net switch-statement static-analysis

是否有工具或编译器标志来帮助识别缺少一个或多个案例陈述的switch语句?

这个想法是

enum Colors { Black, Blue }

Colors c = Colors.Black;

然后我在代码中有很多地方

switch(c)
{
   case Black: 
     ... 
     break;
   case Blue: 
     ... 
     break;
}

扩展颜色枚举时,我需要访问所有的switch语句并进行扩展。

我知道可能我可以重构代码来使用策略,但这只是一个例子。

我也知道我将交换机实现为

switch(c)
{
   case Black: 
     ... 
     break;
   case Blue: 
     ... 
     break;
   default: throw new Exception("not supported " + c);
}

我可能运气不好。

0 个答案:

没有答案