Il mio primo post, dopo quello di presentazione, è stato su "L'asimmetria dell'ISerializable", seguito a brevissima distanza da un altro sullo stesso argomento: "Prima ISerializable aveva SetObjectData". Stamattina sul treno, vedo che anche Juval Lowy (Regional Director, Software Legend), nel suo libro "Programming .NET Components", alla pagina 224, scrive:
"The design decision the architects of .NET serialization took was to force a runtime check for the deserialization constructor instead of a compile-time check. However, I believe a better design decision would have been to provide a SetObjectData() method on ISerializable and, during deserialization, use reflection to set the fields of a new object."
Ancora non mi spiego questa decisione e il fatto che "earlier version used SetObjectData instead of constructor" non fa altro che incuriosirmi di più sulla scelta.
Se avete qualche idea (oltre a quella di chiedere a Peter de Jong), benvenuti i commenti.