我有 js 函数,可以从乘法参数(2 个复选框,3 个下拉字段)中选择报告编号,并且我有一个非常大的条件语句,像这样
switch(ReportNumDrop)
{
case 0: NumberReport = IsDropDownValue == 0 ? 1034: 1033;
break;
case 1: if(CheckBoxChecked)
{
NumberReport = IsDropDownValue == 0 ? 1022: 1021;
}
else
{
NumberReport = IsDropDownValue == 0 ? 1011: 1012;
}
break;
....
//SimilarStatement with another rep number
....
case 6: if(DropDownCondition2)
{
NumberReport = SecondDropDownValue == '*' ? 1045: 1044;
}
else
{
NumberReport = ThirdDropDownValue == 0 ? 1055: 1054;
}
break;
default: break;
}
所以,它就像有限状态图,但重构它的最简单方法是什么,这样它就可以在没有眼睛的血液的情况下读取。
(我认为它类似于 GOF 形式的命令模式)
另外,代码不是我的
PS C# 可用于通过异步调用形成此号码