如何在Groovy的MetaClass方法中引用GroovyObject实例?

14

这是一个人为制造的例子,用来表达我想要做的事情,并最小化表达所需的行为。 我想引用在调用属性访问的对象实例。 我首先尝试了'this' ,但它指的是封闭类而不是MetaClass或String实例。

String.metaClass.propertyMissing = { String name ->
    'I do not exist, but my name is ' + <the String instance> + '.' + $name
}
1个回答

19
您可以使用"delegate"来引用对象:
String.metaClass.propertyMissing = { String name ->
    "I do not exist, but my name is $delegate.$name"
}


println "a".me

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接