.Net Reflection tricks
The June edition of MSDN magazine has a very interesting Q&A that describe how teams inside Microsoft use Reflection (via).
The first half of that article explains how the Xbox Live team uses it along with dynamic MSIL generation to serialize and deserialize the packets from their network protocol to .Net classes. This approach allows them to minimize the efforts and errors when adding new protocols.
The source code for the article is available as a working demo of custom serialization using this technique.