using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;
public class SomeChild : TestParent
public int SomeSerializedField;
public static void Main()
var someChild = new SomeChild() {
IFormatter formatter = new BinaryFormatter();
Stream stream = new MemoryStream();
formatter.Serialize(stream, someChild);
stream.Seek(0, SeekOrigin.Begin);
SomeChild reproduced = (SomeChild)formatter.Deserialize(stream);
Console.WriteLine(string.Format("Original: SomeField={0} SomeSerializedField={1}", someChild.SomeField, someChild.SomeSerializedField));
Console.WriteLine(string.Format("Serialized: SomeField={0} SomeSerializedField={1}", reproduced.SomeField, reproduced.SomeSerializedField));