Каков наилучший способ повторного использования логики коммутатора. У меня есть этот оператор switch, который продолжает отображаться в моем коде. Вместо этого скопируйте его, я хотел бы сделать функцию, которая вызывает других делегатов и передает этих делегатов в качестве параметров.reusing switch statement logic
Или есть лучший способ?
Функция 1:
switch (test)
{
case "x":
DoSomethingX();
break;
case "y":
DoSomethingY();
break;
case "z":
DoSomethingZ();
break;
}
Функция 2:
switch (test)
{
case "x":
DoSomethingXxxx();
break;
case "y":
DoSomethingYyyy();
break;
case "z":
DoSomethingZyyy();
break;
}
Вам необходимо предоставить более подробную информацию для нас, чтобы помочь. Какие части коммутатора являются инвариантными? Только сами случаи или действия? Как насчет переменной, которую вы включаете, это то же самое или она меняется? –
Это звучит так, будто он говорит, что случаи инвариантны, но действия меняются ... но да, нам нужно больше деталей. – Dave
случаи остаются неизменными. Изменения в действии. – zachary