0

我什至不确定如何命名这个 qn。但是,希望有一种简单的方法可以用像 groovy 这样的动态语言来实现。

假设我有一个服务类,我在其中委派业务逻辑。其中的方法是 funA(), funB()... funX()

现在我有一个控制器类,我在其中调用服务闭包,可以像 service.funA() 一样调用它。现在基于一个变量(可以有值A, B ... X),我需要调用正确的服务关闭。基本上是为了避免写很多 if 条件语句。像service."fun+var"()会做的事情。我不确定是否可以在闭包(函数)名称中替换变量。或通过将函数(名称)作为参数传递的任何方式...不确定

我认为 PHP 有类似的功能 http://php.net/manual/en/functions.variable-functions.php

感谢任何指针..

4

1 回答 1

8

是的,这是可能的。这应该做你想要的:

service."fun${var}"()

正确的标题是动态方法调用

于 2010-04-25T19:00:53.303 回答