Hallo!
Ich stehe gerade vor dem Problem, wie eine Klasse sicherstellen kann, dass eine Eigenschaft nicht verändert wird. Klar, dafür gibt es Getter und Setter, und wenn nur ein Getter vorhanden ist, ist die Eigenschaft read-only. Aber so einfach ist es dann doch nicht:
C#-Quelltext
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:
| public class Reifen { public int Druck; }
public class Auto { private Reifen reifenVorneLinks;
public Auto() { reifenVorneLinks = new Reifen(); reifenVorneLinks.Druck = 10; }
public Reifen ReifenVorneLinks { get { return reifenVorneLinks; } } }
... Auto meinAuto = new Auto(); Reifen irgendeinReifen = new Reifen();
meinAuto.ReifenVorneLinks = irgendeinReifen;
meinAuto.ReifenVorneLinks.Druck = 20; |
Read-Only gilt also nur für eine Eigenschaft, aber nicht für die Eigenschaften dieser Eigenschaft
Wie müsst man in diesem Beispiel vorgehen, wenn das ein Auto-Objekt sicherstellen will, dass zwar der linke Vorderreifen öffentlich zugänglich sein soll, aber der Reifendruck nur vom Auto-Objekt selbst verändert werden kann?
Besten Dank
Ares