1. Add below name spaces
using System.Configuration;
using System.Runtime.Serialization.Formatters.Binary;
using System.IO;
2. Create an example class like below
[Serializable] // serialilzable attribute is must.
public class marshaldata {
public byte[] filedata { get; set; }
public string filename { get; set; }
}
3. For serialization use below method. method parameter are test data.
public byte[] serializeData(byte[] data, string filename)
{
marshaldata mar = new marshaldata();
mar.filedata = data;
mar.filename = filename;
BinaryFormatter bf = new BinaryFormatter();
var ms = new System.IO.MemoryStream();
bf.Serialize(ms, mar);
return ms.ToArray();
}
4. For deserialization use below method. method paramete are test data.
public void DeserializeData(byte[] data)
{
MemoryStream memStream = new MemoryStream();
BinaryFormatter binForm = new BinaryFormatter();
memStream.Write((byte[])data, 0, ((byte[])data).Length);
memStream.Seek(0, SeekOrigin.Begin);
marshaldata obj = (marshaldata)binForm.Deserialize(memStream);
string filename = obj.filename;
byte[] filedata = obj.filedata;
}
No comments:
Post a Comment