Note that there are some explanatory texts on larger screens.

plurals
  1. PODeserialization from MemoryStream()
    text
    copied!<p>Lets say, I have a class with objects in it.</p> <pre><code>namespace Class_Serialization { [Serializable] public class Data { public string Name = "Example1"; public string place = "Torino"; public DateTime time = DateTime.Now; } } </code></pre> <p>I am trying to serialize it using ISerialization interface</p> <pre><code>[Serializable] public class SerializeThisClass : ISerializable { public Data StreamThisData; public SerializeThisClass() { } public SerializeThisClass(Data _StreamThisData) { StreamThisData = _StreamThisData; } [SecurityPermission(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.SerializationFormatter)] void ISerializable.GetObjectData(SerializationInfo info, StreamingContext context) { info.AddValue("Object Data", StreamThisData); } } </code></pre> <p>Now, When I serialize with the code below</p> <pre><code>Data DataToSerialize = new Data(); BinaryFormatter DataToBinary = new BinaryFormatter(); SerializeThisClass serialize = new SerializeThisClass(DataToSerialize); SerializeIn SerializeInMem = new SerializeIn(); DataToBinary.Serialize(SerializeInMem.StreamOfData, serialize); ListOfStreams.Add(SerializeInMem); </code></pre> <p>It serializes normally, but when I try to deserialize it, it gives me error</p> <pre><code>BinaryFormatter BinaryToData = new BinaryFormatter(); foreach (SerializeIn x in ListOfStreams) { x.StreamOfData.Position = 0; SerializeThisClass DeserializeData = (SerializeThisClass)BinaryToData.Deserialize(x.StreamOfData); MessageBox.Show("Name: " + DeserializeData.StreamThisData.Name + "\nPlace: " + DeserializeData.StreamThisData.place + "\nDateTime: " + DeserializeData.StreamThisData.time.ToString()); } </code></pre> <blockquote> <p>Error: $exception{"The constructor to deserialize an object of type 'Class_Serialization.SerializeThisClass' was not found."} System.Exception {System.Runtime.Serialization.SerializationException}</p> </blockquote>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload