C# Soap Serialization Example

[TOC]

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

using CenterSpace.NMath.Core;

namespace CenterSpace.NMath.Core.Examples.CSharp
{
  /// <summary>
  /// .NET examples in C# showing how to serialize and deserialize an NMath object
  /// in SOAP format.
  /// </summary>
  class SoapSerializationExample
  {
    private const string filename = "data.xml";

    static void Main(string[] args)
    {
      Console.WriteLine();

      // Delete old file, if it exists
      if (File.Exists(filename))
      {
        File.Delete(filename);
        Console.WriteLine("Deleted old file");
      }

      // Create vector
      DoubleVector u = new DoubleVector("[ 5.6 4.2 5.3 -0.004 434 ]");

      // Presist to file
      FileStream stream = File.Create(filename);
      SoapFormatter formatter = new SoapFormatter();
      Console.WriteLine("Serializing vector");
      formatter.Serialize(stream, u);
      stream.Close();

      // Restore from file
      stream = File.OpenRead(filename);
      Console.WriteLine("Deserializing vector");
      DoubleVector v = (DoubleVector)formatter.Deserialize(stream);
      stream.Close();

      Console.WriteLine();
      Console.WriteLine("Press Enter Key");
      Console.Read();

    } // Main

  }// class

}// namespace


[TOC]