Ich versuche, eine Domänenklasse zu implementieren, die aufzeichnet, wenn der Wert einer Eigenschaft geändert wurde, aber mein setProperty()
-Aufruf führt zu einer unendlichen Rekursion, wenn der tatsächliche Wert festgelegt wird.Groovy: Wie setze ich eine Eigenschaft in setProperty() und vermeide unendliche Rekursion?
Dies ist, wie es jetzt aussieht:
void setProperty(String name, value)
{
if(name == "modified")
{
this.modified = value
return
}
else
{
if(this[name]==value)
{
return
}
this.modified = true
this[name]=value
}
}
Wie kann ich eine Unterkunft gegeben Zugriff auf seinen Namen Anruf ohne Auslösen eines rekursiven setProperty()
? Oder gibt es einen anderen Weg, um mein Ziel zu erreichen?
dieses @ Name eine bestimmte Eigenschaft zugreifen würde, aber ich brauche die generischen Zugriff basierend auf Eigenschaftsnamen.. Ich habe deine Antwort auf das geändert, woran ich jetzt arbeite. Seltsamerweise hatte ich den @ Operator bereits gefunden und probiert. Ich vermute, dass Netbeans noch den vorherigen Code ausgeführt hat (es ist wirklich so schlecht). –
Ausgezeichnet. Froh, dass es für dich funktioniert hat. –