Goedemiddag beste mensen,
Aan de hand van dit topic ben ik bezig geweest om een object te bouwen, waarin wijzigingen ongedaan kunnen worden gemaakt. Tot nu toe de volgende code:
En bij de uitvoer dus:
Op het annuleren na, werkt het prima. Maar hoe zorg ik er nu voor dat ik het huidige object kan annuleren. Dus in de WijzigenAnnuleren method moet het object zelf overschreven worden, met het laatst toegevoegde item uit de Stack.
Alvast bedankt voor de reacties.
Aan de hand van dit topic ben ik bezig geweest om een object te bouwen, waarin wijzigingen ongedaan kunnen worden gemaakt. Tot nu toe de volgende code:
C#:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| public abstract class BusinessObject { private Stack<BusinessObject> _objectVersies; private Stack<BusinessObject> ObjectVersies { get { return _objectVersies; } set { _objectVersies = value; } } /// <summary> /// Starten met wijzigen van object /// </summary> public void WijzigenStarten() { this.ObjectVersies.Push(this.MemberwiseClone() as BusinessObject); } /// <summary> /// Annuleren van de wijzigingen /// </summary> /// <returns></returns> public void WijzigenAnnuleren() { if (this.ObjectVersies.Count != 0) { BusinessObject businessObject = this.ObjectVersies.Pop(); } } /// <summary> /// Wijzigingen beeindigen /// </summary> public void WijzigenBeeindigen() { this.ObjectVersies.Clear(); } } |
En bij de uitvoer dus:
C#:
1
2
3
4
| BusinessObject test = new BusinessObject(); test.WijzigenStarten(); //Doe vanalles met properties test.WijzigenAnnuleren(); |
Op het annuleren na, werkt het prima. Maar hoe zorg ik er nu voor dat ik het huidige object kan annuleren. Dus in de WijzigenAnnuleren method moet het object zelf overschreven worden, met het laatst toegevoegde item uit de Stack.
Alvast bedankt voor de reacties.