public void BinderShouldBeUsedForProperties() { using (var serStream = new MemoryStream()) { var binder = new CustomSerBinder(); // serialize var original = new BaseClass() { Other = new OtherClass() }; var formatter = new BinaryFormatter(); formatter.Binder = binder; formatter.Serialize(serStream, original); // deserialize, making sure we're using a new formatter, just to be thorough formatter = new BinaryFormatter(); formatter.Binder = binder; serStream.Seek(0, SeekOrigin.Begin); var deserialized = formatter.Deserialize(serStream); Assert.AreEqual(original.GetType(), deserialized.GetType()); Assert.AreEqual(original.Other.GetType(), ((BaseClass)deserialized).Other.GetType()); } }
public void BinderShouldBeUsedForProperties () { using (var serStream = new MemoryStream ()) { var binder = new CustomSerBinder (); // serialize var original = new BaseClass () { Other = new OtherClass () }; var formatter = new BinaryFormatter (); formatter.Binder = binder; formatter.Serialize (serStream, original); // deserialize, making sure we're using a new formatter, just to be thorough formatter = new BinaryFormatter (); formatter.Binder = binder; serStream.Seek (0, SeekOrigin.Begin); var deserialized = formatter.Deserialize (serStream); Assert.AreEqual (original.GetType (), deserialized.GetType ()); Assert.AreEqual (original.Other.GetType (), ((BaseClass)deserialized).Other.GetType ()); } }