在运行时获取当前调用方法的名称

时间:2013-11-26 10:41:13

标签: groovy

是否可以在Groovy代码中获取当前方法的名称?

def myMethod() {
   // want to get the string myMethod here
}

由于

1 个答案:

答案 0 :(得分:0)

Tim_yates为您提供了一般解决方案的链接。

这是获取方法名称的简短方法。为了清晰起见,可以进行优化,尽量避免使用。

class A {
    def myMethod() {
        for (m in new Throwable().stackTrace) {
            if (m.className == this.class.name)
                return m.methodName
        }
    }
}
println new A().myMethod()