[Serializable]
public class ClassB
{
public int X;
public int Y;
public ClassB()
{
X = 3;
Y = 4;
}
}
[Serializable]
public class ClassA
{
public int X;
public int Y;
public List<ClassB> listA;
public ClassA()
{
listA = new List<ClassB>();
X = 1;
Y = 2;
listA.Add(new ClassB());
listA.Add(new ClassB());
}
}
ClassA objA = new ClassA();
IFormatter formatter = new BinaryFormatter();MemoryStream stream = new MemoryStream();
formatter.Serialize(stream, objA);
stream.Position = 0;
byte[] buffer = new byte[stream.Length];
stream.Read(buffer, 0, buffer.Length);
stream.Flush();
stream.Close();
string strSerial = Convert.ToBase64String(buffer);
ClassA objB = new ClassA();
objB.listA.Clear();
IFormatter formatter1 = new BinaryFormatter();
byte[] buffer1 = Convert.FromBase64String(strSerial);
MemoryStream stream1 = new MemoryStream(buffer1);
objB = (ClassA)formatter1.Deserialize(stream1);
stream1.Flush();
stream1.Close();