我们说我在groovy中有一些名为obj的对象。是否有一个我可以在obj上调用的默认方法或属性将返回给我回到那个对象?例如:
def obj = new Whatever()
assert obj == obj.self
上下文 我在Jenkins中定义的ClosureScript类的上下文中编写脚本。这是Script类的扩展,允许委派类型的工作流。不幸的是,它只是将getProperty()和invokeMethod()调用转发给委托,它没有公开对委托对象本身的直接引用。因此,自引用属性/方法将允许我获得该引用。
答案 0 :(得分:1)
所以我最终找到了一种方法来做到这一点。在默认的groovy方法中,有一些方法可以有效地转换为无操作。例如:
assert obj == obj.find()
assert obj == obj.each{it}
都会过去。
不幸的是,这实际上并没有解决我原来的问题。我正在使用的Script类中的委托策略最终在委托之前首先调用脚本上的默认方法。这确实回答了我提出的问题,所以我只是关闭它并继续前进。