在 C# 中传递方法作为参数
当处理多个具有相似参数和返回类型但实现不同的方法时,需要根据方法名称动态调用这些方法。在 C# 中,利用委托是一种有效的解决方案。
在提供的示例中,目标是创建一个方法 RunTheMethod
,它将另一个方法的名称作为参数并调用该方法。由于 RunTheMethod
的参数需要特定的方法签名,因此会出现复杂性。
.NET Framework 提供了一个名为 Func
的委托,允许我们指定具有类型安全性的方法签名。通过使用 Func
,我们可以将 RunTheMethod
的参数定义为接受一个带字符串参数并返回整数的方法。
以下是修改后的实现:
public bool RunTheMethod(Func<string, int> myMethodName) { int i = myMethodName("My String"); return true; }
通过此修改,我们现在可以将不同的方法作为参数传递给 RunTheMethod
:
bool result1 = RunTheMethod(Method1); bool result2 = RunTheMethod(Method2);
这种方法提供了灵活性,并通过允许根据方法名称动态调用方法来简化代码组织。
以上是如何使用委托中的C#中的参数传递方法?的详细内容。更多信息请关注PHP中文网其他相关文章!