Das liegt aber eher nicht an der Theorie des Serialisierens

:
C#-Quelltext
1: 2:
| [NonSerialized] private AddingNewEventHandler onAddingNew; |
Das Attribut zeigt, dass das Event für den GUI-Code (der natürlich nicht mitserialisiert werden soll

) gedacht ist und nicht für den Business Layer. Stattdessen könntest du von BindingList ableiten und InsertItem überschreiben, aber ehrlich gesagt stehe ich mit Winforms Data Binding sowieso auf dem Kriegsfuß

.
Über die Intuitivität[meta]Das Wort gibt es nicht wirklich, oder *g* ?[/meta] des Ganzen könnte man sich streiten, aber mir fällt kein besseres System ein

. Wenn du vor der Serialisierung den Konstruktor aufrufen würdest, hättest du zwar den Eventhandler eingehakt, aber auf eine leere Liste, die sofort danach von der deserialisierten ersetzt würde.