【发布时间】:2018-08-09 11:40:34
【问题描述】:
但问题是我最终编写了一个 Switch 案例,导致每个命令有 n 个案例。我该如何避免呢? c#中的代码
例子:
switch ()
{
case "Open File":
//do something;
break;
case "Change color":
//do something;
break;
.
.
.
case n:
// do smething;
break;
}
【问题讨论】:
-
到底是什么问题?你想避免什么?根据您提供给我们的 [少量] 信息,切换听起来很合理。
-
如果你有很多这样的开关......你可以考虑使用工厂模式
-
@rory.ap: 有200多条命令,不值得写200个case。这就是我要避免的。此外,命令可以是任意长度,它不遵循特定模式
-
那么您需要考虑编写专门的类来处理命令和/或命令类别。使用建议的@Ctznkane525 之类的工厂模式。 C# 是一种面向对象的编程语言,所以好好利用它吧。
-
如何使用接口,例如。 ICommand,它提供了一个方法'Execute()'?然后,您可以通过调用 ICommand.Execute(); 来避免整个开关/案例;还是我完全偏离了轨道?
标签: c#