可能重复:
如何枚举枚举?
所以我有一些这样的代码:
enum Decision
{
DecisionA,
DecisionB,
...
}
public void DoStuff(Decision d)
{
switch(d)
{
case Decision.DecisionA:
....
...
}
}
基本上DoStuff
,无论做出什么决定,都会做同样的事情,但该决定用于使其所做的事情更优化(更快或其他)。
现在,我想为 DoStuff 实施单元测试。通过有一个类似的数组来测试所有决策是否正常工作是相当容易的,new Decision[]{DecisionA, DecisionB, ...};
但是,如果我添加一个决策,我必须返回并手动将其添加到单元测试中。
是否可以只访问由 a 指定的所有可能选项enum
?例如,像这样:
foreach(var d in Decision.Options)
{
//d will be DecisionA, and then DecisionB, etc etc
}