Warning: Use of undefined constant user_level - assumed 'user_level' (this will throw an Error in a future version of PHP) in /var/www/lybecker.com/public_html/blog/wp-content/plugins/ultimate-google-analytics/ultimate_ga.php on line 524
In .Net 3.5 SP1 it is now possible to serialize any object that has a default constructor without decorating it with [DataContract] or [Serializable].
Developers have these choices now when serializing objects:
- Implicit serialization – requires public default constructor and only serialize public read/write fields
- Use the [Serializable] attribute
- Use [DataContract] and [DataMember] attributes
- Implement the ISerializable interface
I must say, that I’m not keen on this new feature. I prefer explicit serialization to implicit serialization. I predict that implicit serialization of entire object graphs will cause performance problems for many .Net developers in the years to come. This could also be a good thing as I am a consultant 😉
Aaron Skonnard has a more detailed blog post about the new serialization features in .Net 3.5 SP1.