Mega Code Archive

 
Categories / C# Tutorial / Network
 

Soap Custom Serialization

using System; using System.IO; using System.Runtime.Serialization; using System.Runtime.Serialization.Formatters.Soap; [Serializable] class Employee: ISerializable {     int id;     string name;     string address;          public Employee(int id, string name, string address)     {         this.id = id;         this.name = name;         this.address = address;     }          public override string ToString()     {         return(String.Format("{0} {1} {2}", id, name, address));     }          Employee(SerializationInfo info, StreamingContext content)     {         id = info.GetInt32("id");         name = info.GetString("name");         address = info.GetString("address");     }          // called to save the object data             public void GetObjectData(SerializationInfo info, StreamingContext content)     {         info.AddValue("id", id);         info.AddValue("name", name);         info.AddValue("address", address);     } } class MainClass {     public static void Main()     {         Employee employee = new Employee(15, "F", "B");                  Stream streamWrite = File.Create("emp.dat");         IFormatter writer = new SoapFormatter();         writer.Serialize(streamWrite, employee);         streamWrite.Close();         Stream streamRead = File.OpenRead("emp.dat");         IFormatter reader = new SoapFormatter();         employee = (Employee) reader.Deserialize(streamRead);         streamRead.Close();         Console.WriteLine("Employee: {0}", employee);     } } Employee: 15 F B