Einfache Methode eine Variable auf ihren Initialwert zurückzusetzen?
-
Hi Forum,
ich bin mir nicht sicher, ob es zu diesem Thema schon einen Beitrag gibt - bzw. ich auch keine Idee habe nach was ich eigentlich suche. Darum wollte ich kurz mein Problem hier schildern.
Folgendes Szenario:
var variable = INITIAL_VALUE;
// ...
// lese/schreibe Variable 'variable'
// ...
// setze Variable 'variable' auf INITIAL_VALUE (zurück)Die einfachste Methode die mir dazu einfällt ist den INITAL_VALUE irgendwo in einer readonly Variable zu speichern. Das Problem was ich aber damit habe ist, wenn ich jetzt eine Klasse mit >10 Variablen habe, dann verdoppelt sich die ganze Geschichte.
Gibt es in C# oder allgemein eine Lösung mit der man dieses Problem lösen könnte?Lg Tobi
-
Servus,
hmm... nö. Du brauchst in deinem Fall immer irgendeine Konstante oder Readonly Feld, dass den Initialwert enthält. Ich wüsste jetzt auch nicht, was daran verkehrt sein soll?
Ich denke mal nicht, dass du sooooo viele globale Felder (Variablen) hast. Wenn es so ist, solltest du vielleicht an deinem Klassen-/Methodendesign arbeiten.
Gruß
Hellsgore
-
Kannst Du genauer Beschreiben, zu welchen Zeitpunkten die Variablen auf ihren Init-Wert zurückgesetzt werden sollen?
Und dann jeweils nur eine oder alle auf einen Schlag?Man könnte z.B. eine struct basteln, die ein Feld für den eigentlichen Wert sowie den Init-Wert beinhaltet. Bei der ersten Zuweisung merkt sich die struct den Wert als Init-Wert. Dazu zwei implizite Konvertierungsoperatoren und eine Reset-Methode. Aber der Sinn ergibt sich mir irgendwie nicht. Nur Du kannst wissen an welcher Stelle das Reset stattfinden soll, und ob das dann ein Methodenaufruf oder eine Zuweisung ist, spielt kaum eine Rolle.
-
T0bi schrieb:
Gibt es in C# oder allgemein eine Lösung mit der man dieses Problem lösen könnte?
Objekte nicht recyclen sondern einfach neue erzeugen wenn man neue braucht.