Reading and writing your data is incredibly easy in .NET, thanks to the help of the streamable classes. This type of feature is actually nothing new. Languages such as Python and Delphi’s Object Pascal have had the feature for years. C++ also has libraries available that use runtime type information to make streaming happen.
One of my general goals when I develop software is to focus my efforts on the aspects that make the software unique. I don’t want to spend days or weeks writing code that doesn’t pertain to the main product features. If I’m writing an organizer program, I don’t want to spend much time writing code that serializes classes, any more than I want to write low-level device drivers to manage files or to write code that renders the bitmap images in the Close button in the window. The time I spend on such auxiliary exercises is time taken away from writing the best unique features around and getting the product out the door. That’s where code such as the serialization classes come in.
As always, you should focus on adding your new and unique features, and quickly get the basic features such as serialization working. Enjoy!