Given the following example:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.Serialization.Formatters.Binary; using System.IO;  namespace SerializationTest {     [Serializable]     class Foo : Dictionary<int, string>     {     }      class Program     {         static void Main(string[] args)         {             Foo foo = new Foo();             foo[1] = "Left";             foo[2] = "Right";              BinaryFormatter formatter = new BinaryFormatter();             MemoryStream stream = new MemoryStream();              formatter.Serialize(stream, foo);             stream.Seek(0, SeekOrigin.Begin);             formatter.Deserialize(stream);         }     } }   In the last line, a SerializationException is thrown because the formatter can't find the constructor to Foo. Why is that?
Append the following code lines in the class Foo
public Foo() {  }  public Foo(SerializationInfo info, StreamingContext context) : base(info, context) {  }   The class needs an constructor with the relevant serialisation parameters.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With