【发布时间】:2018-05-30 15:33:23
【问题描述】:
我正在使用 Razor Pages (MVVM) 在 .NET Core 中开发一个 Web 应用程序,用户可以在其中给我 4 个选项。
这些选项中的每一个都执行相同的操作,但在执行方面略有不同 - 这就是我想要实施策略模式的原因。
有没有办法以某种方式动态生成函数名?这可能是一个愚蠢的问题,但我只了解基础知识。
// option = A
// option = B
// option = C
// option = D
public async Task<IActionResult> OnPostAsync()
{
...
var option = Input.Option // from model
if(option == "A") {
A.DoAlgorithm(input)
} else if(option = "B") {
B.DoAlgorithm(ïnput)
} else if(option = "c") {
C.DoAlgorithm(input)
} else {
D.DoAlgorithm(input)
}
...
}
如果我这样做的话,感觉就像我错过了这个模式的要点,所以我的问题是:有没有办法根据输入选项动态调用函数?如果我为此使用了错误的模式,请纠正我。
【问题讨论】:
标签: c# asp.net design-patterns