Metoda Pass jako parametr w Groovy

Czy istnieje sposób na przekazanie metody jako parametru w Groovy bez zawijania jej w zamknięcie? Wydaje się, że działa z funkcjami, ale nie z metodami. Na przykład, biorąc pod uwagę:

def foo(Closure c) {
    c(arg1: "baz", arg2:"qux")
}

def bar(Map args) {
    println('arg1: ' + args['arg1'])
    println('arg2: ' + args['arg2'])
}

To działa:

foo(bar)

Ale jeślibar to metoda w klasie:

class Quux { 
    def foo(Closure c) {
        c(arg1: "baz", arg2:"qux")
    }

    def bar(Map args) {
        println('arg1: ' + args['arg1'])
        println('arg2: ' + args['arg2'])
    }

    def quuux() { 
      foo(bar)
    }
} 

new Quux().quuux()

To się nie udajeBrak takiej właściwości: pasek dla klasy: Quux.

Jeśli zmienię metodę zawijaniabar w zamknięciu działa, ale wydaje się niepotrzebnie gadatliwy:

    def quuux() { 
      foo({ args -> bar(args) })
    }

Czy jest czystszy sposób?

questionAnswers(1)

yourAnswerToTheQuestion