illustrates binary serialization

Mastering Visual C# .NET
by Jason Price, Mike Gunderloy

Publisher: Sybex;
ISBN: 0782129110

  Example15_19.cs illustrates binary serialization

using System;
using System.IO;
using System.Runtime.Serialization;
using System.Runtime.Serialization.Formatters.Binary;

// the Customer class gives us something to serialize
class Customer
  // some private data members
  private int CustomerNumber;
  private string CustomerName;
  private string CustomerCountry;

  // the WriteCustomer method formats info to the screen
  public void WriteCustomer()
    Console.WriteLine("Customer Number: " + this.CustomerNumber);
    Console.WriteLine("Customer Name: " + this.CustomerName);
    Console.WriteLine("Customer Country: " + this.CustomerCountry);

  // the constructor accepts all the info to create a customer
  public Customer(
    int newCustomerNumber, 
    string newCustomerName, 
    string newCustomerCountry)
    this.CustomerNumber = newCustomerNumber;
    this.CustomerName = newCustomerName;
    this.CustomerCountry = newCustomerCountry;

public class Example15_19 

  public static void Main() 

    // create a new customer and dump to screen
    Customer MyCustomer = new Customer(1, "X Corporation", "France");

    // Create a FileStream to hold the serialized customer
    FileStream serializeStream = new FileStream("c:MyCustomer.dat", 

    // use the CLR's binary formatting support
    BinaryFormatter bf = new BinaryFormatter();

    // serialize the object
    bf.Serialize(serializeStream, MyCustomer);

    // retrieve the serialized version to a second object and dump that
    FileStream retrieveStream = new FileStream("c:MyCustomer.dat",
    Customer NewCustomer = (Customer) bf.Deserialize(retrieveStream);



This entry was posted in File Stream. Bookmark the permalink.