本文介绍了Groovy:如何在setProperty()中设置属性并避免无限递归?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我试图实现一个记录任何属性值被更改的域类,但是当设置实际值时,我的 setProperty()
调用会导致无限递归。
I'm trying to implement a domain class that records when any property's value was changed, but my setProperty()
call results in infinite recursion when setting the actual value.
这是它现在的样子:
This is how it looks right now:
void setProperty(String name, value)
{
if(name == "modified")
{
this.modified = value
return
}
else
{
if(this[name]==value)
{
return
}
this.modified = true
this[name]=value
}
}
属性给定其名称而不触发递归 setProperty()
调用?或者有什么不同的方式来实现我的目标?
So how can I access a property given its name without triggering a recursive setProperty()
call? Or is there a different way to achieve my goal?
推荐答案
试试:
this.@"$name" = value
(请参阅)
这篇关于Groovy:如何在setProperty()中设置属性并避免无限递归?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!