我们如何通过arguments数组以动态,javascript样式检索groovy中的闭包/方法的参数列表 例如,我想以这种方式记录消息 def closure = {name,id - log.debug "Executing method with params name:${} id:${id}"} 要么 v
例如,我想以这种方式记录消息
def closure = {name,id -> log.debug "Executing method with params name:${} id:${id}" }
要么
void method (String name,String id) { log.debug "Executing method with params name:${} id:${id}" }
我读过一次关于引用闭包参数列表的方法,但我没有回忆这一点,看看Closure的groovy API只显示了getParametersType()方法.至于方法,有一种方法可以将方法作为闭包调用,然后我可以检索方法参数
肯
你不会喜欢它(我希望做研究和回答不是我的坏事),但是:没有API可以访问Groovy Closure或Java方法中声明的参数列表.
我还查看了相关的类型,包括(对于Groovy)MetaClass,子类型,以及org.codehaus.groovy.reflection包中的类型,以及java.lang.reflect包中的(对于Java)类型.
此外,我还进行了广泛的Google搜索以追踪外星人.