Serialize arbitrary object graphs to a stream in C# with BinarySerializer, which needs no attributes or registrations and preserves derived types, shared references and cycles. Covers how it assembles serializers per call, what it writes to the stream, and how it differs from the removed BinaryFormatter.
Read article