Comment puis-je référence l'instance GroovyObject des méthodes métaclasse dans Groovy?

StackOverflow https://stackoverflow.com/questions/550165

  •  23-08-2019
  •  | 
  •  

Question

Ceci est un exemple de ce que je artificiel veux faire, mais exprime très peu le comportement souhaité. Je veux faire référence à l'instance de l'objet sur lequel l'accès à la propriété est invoquée. J'ai essayé « ceci » d'abord, mais qui fait référence à la classe englobante plutôt que soit le MetaClass ou l'instance String.

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

La solution

Vous pouvez vous référer à l'objet avec « délégué »:

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


println "a".me
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top