Во время выполнения я хватаю список имен методов в классе, и я хочу вызвать эти методы. Я понимаю, как получить первую часть сделано здесь: http://docs.codehaus.org/display/GROOVY/JN3535-ReflectionКак динамически вызывать методы в Groovy?
GroovyObject.methods.each{ println it.name }
То, что я не могу найти информацию о том, как затем вызвать метод, как только я схватил его имя.
То, что я хочу, чтобы получить здесь:
GroovyObject.methods.each{ GroovyObject.invokeMethod(it.name, argList) }
Я не могу найти правильный синтаксис. Вышеприведенное, кажется, предполагает, что я перегрузил метод invokeMethod по умолчанию для класса GroovyObject, который НЕ является тем направлением, в котором я хочу идти.
Хотя это теоретически может ответить на вопрос, [было бы предпочтительнее] (http://meta.stackexchange.com/ q/8259), чтобы включить здесь основные части ответа и предоставить ссылку для справки. –
Предоставленная ссылка мертва. Связана ли эта ссылка? http://www.groovy-lang.org/metaprogramming.html#_dynamic_method_names – chrish
Я обновил ссылку, чтобы указать на заархивированную версию оригинальной, теперь мертвой ссылки. Счастливое метапрограммирование! – avgvstvs