【问题标题】:How do I reference the GroovyObject instance from MetaClass methods in Groovy?如何从 Groovy 中的 MetaClass 方法引用 GroovyObject 实例?
【发布时间】:2010-10-07 16:50:49
【问题描述】:

这是我想做的一个人为的例子,但最低限度地表达了所需的行为。我想引用正在调用属性访问的对象的实例。我首先尝试了“this”,但它指的是封闭类,而不是 MetaClass 或 String 实例。

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

【问题讨论】:

    标签: groovy metaclass


    【解决方案1】:

    你可以用“delegate”来引用对象:

    String.metaClass.propertyMissing = { String name ->
        "I do not exist, but my name is $delegate.$name"
    }
    
    
    println "a".me
    

    【讨论】:

      猜你喜欢
      • 2010-12-09
      • 2010-12-28
      • 1970-01-01
      • 1970-01-01
      • 2013-11-15
      • 1970-01-01
      • 1970-01-01
      • 2015-02-13
      • 2012-02-10
      相关资源
      最近更新 更多