Stevie |
26. Jan 2016 11:17 |
AW: TList<>.OnBefore?
Zitat:
Zitat von himitsu
(Beitrag 1328281)
Zitat:
Zitat von Stevie
(Beitrag 1328274)
Dass ein solches OnBefore Event eine krasse Verletzung des LSP wäre, ist noch keinem aufgefallen, oder?
|
Wieso?
|
Weil es das Verhalten von Add und dergleichen ändert.
Übrigens würdest du selbst mit Vererbung von TList<T> nichts gewinnen, da du durch das Fehlen von virtual auf den veränderten Methoden eine solche - ich nenn sie mal TFilteredList<T> - nicht als TList<T> übergeben kannst, da die sich wieder wie eine TList<T> verhalten würde. Das heißt du müsstest immernoch alle betroffenen Methoden von TList<T> auf TFilteredList<T> ändern. Und dann kannst du auch den Ansatz mit der Komposition gehen.
|