c# - 选择其中一个功能

标签 c# .net

我举个例子,试着解释一下我想问的问题:

假设我有名为 Func1Func2Fucn3 的函数...等等。所有这些函数都具有相同的签名。然后,还有另一个函数 Call(String str)。现在基于传递给 Call 的参数,我想调用三个函数之一。即如果 str == "Func1" 调用 Func1,如果 str == "Func2" 调用 Func2,如果 str == "Func3" 调用Func3 ...等等。有没有一种方法可以不使用条件语句来做到这一点?

最佳答案

您可以为此使用多态性。

如果您有几个实现相同接口(interface)的类,您可以将具有您想要的行为的对象传递给您的函数并直接调用它,因为行为将被封装在传入的对象中。

参见 strategy pattern示例和详细信息。

关于c# - 选择其中一个功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12421088/

相关文章:

.net - 优化 LINQ to SQL 查询的工具和技术

c# - 将 URL 转换为 Controller / Action 对

c# - 在 1 000 000 的数组中查找整数和

c# - 如何使用自定义类型重载 System.Math 方法

c# - 在负载平衡情况下使用 WCF 4.5 RemoteEndpointMessageProperty 获取客户端 IP 地址

c# - 防止来自 3rd 方组件的异常使整个应用程序崩溃

c# - 有没有办法制作一个自JIT编译的程序?

c# - Mongodb C# Query Sort 超出了内存限制

c# - ASP.NET 的编译文件目录

c# - 无法解释的 OverflowException 将表示屏幕坐标的 IntPtr 转换为 Int32