Я пытаюсь реализовать класс домена, который записывает, когда значение свойства было изменено, но мой вызов setProperty()
приводит к бесконечной рекурсии при установке фактического значения.Groovy: Как установить свойство в setProperty() и избежать бесконечной рекурсии?
Вот как это выглядит сейчас:
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()
вызов? Или есть другой способ достичь моей цели?
это @ имя будет получить доступ к специфическому свойству, но мне нужен общий доступ, основанному на имя свойства.. Я изменил ваш ответ на то, что мне теперь нужно. Как ни странно, я уже нашел и попробовал оператор @. Я подозреваю, что Netbeans все еще запускал предыдущий код (это действительно так отстойно). –
Отлично. Рад, что это сработало для вас. –